- undefined的出现情况
- 变量未声明
- 变量已声明,未赋值
- 使用的对象属性未声明(类似于变量未声明)
- undefined与null的区别和联系
undefined:未定义 。解析器不知道其为何物
null:空。JS的解析器已经知道有这么一个变量存在,其值为”空”。其概念类似于”“(空字符串)。 【其在内存中仍然占用了一个指针,即使其指向为空??? 此处留待考证】
var a;b=null;
a==b :true
a===b:false
typeof(a):undefined
typeof(b):object
- undefined导致的后果(各种莫名奇妙的错误)
- 出错语句后续代码不执行
var a;b='倒霉蛋';
alert(a);
alert(b);//<font color="green">倒霉蛋是无法显示的。JS解析器解析到了错误代码,跳过了这一段代码</font>
- 在实际工程中偶然碰见这一错误:
Maximum call stack size exceeded
发生于发起AJAX请求传入参数时,一般来说这一错误发生于循环调用,因为我没有涉及到循环所以开始排查上面的代码。
网上也有一位朋友也是因为这一失误莫名其妙产生了这一错误。
http://www.cnblogs.com/dunitian/p/5865725.html