JAVAScript中的undefined

来源:互联网 发布:摄氏度转华氏度 c语言 编辑:程序博客网 时间:2024/06/05 19:58


  1. undefined的出现情况
    • 变量未声明
    • 变量已声明,未赋值
    • 使用的对象属性未声明(类似于变量未声明)
  2. undefined与null的区别和联系

undefined:未定义 。解析器不知道其为何物

null:空。JS的解析器已经知道有这么一个变量存在,其值为”空”。其概念类似于”“(空字符串)。【其在内存中仍然占用了一个指针,即使其指向为空??? 此处留待考证】
var a;b=null;a==b :truea===b:falsetypeof(a):undefinedtypeof(b):object
  1. undefined导致的后果(各种莫名奇妙的错误)
    1. 出错语句后续代码不执行
var a;b='倒霉蛋';alert(a);alert(b);//<font color="green">倒霉蛋是无法显示的。JS解析器解析到了错误代码,跳过了这一段代码</font>


  1. 在实际工程中偶然碰见这一错误:

Maximum call stack size exceeded
发生于发起AJAX请求传入参数时,一般来说这一错误发生于循环调用,因为我没有涉及到循环所以开始排查上面的代码。
网上也有一位朋友也是因为这一失误莫名其妙产生了这一错误。
http://www.cnblogs.com/dunitian/p/5865725.html
所以,没有复杂算法结构下出现这些错误,可以先回头排查一下是否因为变量没有声明/赋值就使用导致。

0 0