typeof 是运算符,注意不是函数,是运算符,其作用,是考察变量究竟是什么类型。或曰,是变量是否定义或是否初始化的照妖镜。返回值是字符串。

undefined 表示一个对象没有被定义或者没有被初始化。

null


测试一,变量没有定义的时候,只能使用 typeof

<input type="button" id="btnTest" οnclick="Test()" value="测试" />
<script type="text/javascript">
function Test() {
alert(i == null); //报错
alert(i == undefined); //报错
alert(typeof i == "undefined"); //true
}
</script>


测试二,变量有定义,但未初始化,typeof,undefined,null都可以使用 

<script type="text/javascript">
function Test() {
var i;
alert(i == null); //true
alert(i == undefined); //true
alert(typeof i == "undefined"); //true
i = 0;
alert(i == null); //false
alert(i == undefined); //false
alert(typeof i == "undefined"); //false
}
</script>


测试三,函数参数跟变量类似

1、没有参数

<input type="button" id="btnTest" οnclick="Test()" value="测试" />
<script type="text/javascript">
function Test(i) {
alert(i == null); //true
alert(i == undefined); //true
alert(typeof i == "undefined"); //true
}
</script>


2、有参数

<input type="button" id="btnTest" οnclick="Test(0)" value="测试" />
<script type="text/javascript">
function Test(i) {
alert(i == null); //false
alert(i == undefined); //false
alert(typeof i == "undefined"); //false
}
</script>


参考文章:​​点击打开链接​