直接判断是否为undefined:

//定义并赋值
var name1="name1";
alert(name1 == undefined);//false
//定义未赋值
var name2;
alert(name2 == undefined);//true
// 未定义未赋值
alert(name3 == undefined);//出错

typeof 判断是否未定义:

//定义并赋值
var name1 = "name1";
alert(typeof name1 == "undefined");//false
//定义未赋值
var name2;
alert(typeof name2 == "undefined");//true
// 未定义未赋值
alert(typeof name3 == "undefined");//true

 

结论:

  1. 直接用等号 (==) 判断是否为undefined时,变量必须要声明包括不用var 的隐式声明),否则出错。
  2. 不管变量有没有声明,都可用typeof 判断,注意typeof 返回结果为字符串,所以是与"undefined"做比较。
  1. 所以,判断类型最好用typeof ,因为当判断的变量是在其他js 文件中定义的全局变量时,执行此判断时,定义该变量所在的js 文件可能还未加载完成,用== 判断就会报错:is not defined

————————————————
版权声明:本文为CSDN博主「Liekkas_BX」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_19865749/java/article/details/78121036

 

 

 

posted on 2020-04-02 16:55  菜鸟正在进化  阅读(504)  评论(0)    收藏  举报