马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2020-7-23 19:06 编辑
null 与对象引用有关系,表示为空或不存在的对象引用。
当声明一个变量却没有向它赋值的时候,它的值就是 undefined 。
undefined 的值会在如下情况中出现:
- 从一个对象中获取某个属性,如果该对象及其 prototype 链中的对象都没有该属性,该属性的值为 undefined
- 一个函数如果没有显式通过 return 语句将返回值返回给其调用者,其返回值就是 undefined,但在使用 new 调用函数时例外
- JavaScript 的函数可以声明任意多个形参,当该函数实际被调用时,传入的参数的个数如果小于声明的形式参数的个数,那么多余的形式参数的值为 undefined
如果对值为 null 的变量使用 typeof 检测,得到的结果是 “object”。
而 typeof undefined 的值为 “undefined”。
null==undefined,null!==undefined。
与 null 不同,undefined 不是 JavaScript 的保留字,在 ECMAScript v3 标准中才定义 undefined 为全局变量,初始值为 undefined 。
因此,在使用 undefined 值时就存在一个兼容问题(早期浏览器可能不支持 undefined)。
除了直接赋值和使用 typeof 运算符外,其他任何运算符对 undefined 的操作都会引发异常。
不过,可以声明 undefined 变量,然后查看它的值,如果它的值为 undefined,则说明浏览器支持 undefined 值。
例如:
var undefined;
alert(undefined);
如果浏览器不支持 undefined 关键字,可以自定义 undefined 变量,并将其赋值为 undefined 。
例如:
声明变量为 undefined,将其初始化为表达式 void null 的值。
由于运算符 void 在执行其后的表达式时会忽略表达式的结果值,而总是返回值 undefined 。
因此利用这种方法可以定义一个变量为 undefined,并将其赋值为 undefined 。
既然是将变量 undefined 赋值为 undefined,还可以使用如下方式:
或者使用没有返回值的函数:
var undefined=function(){}();
alert(undefined);//"undefined"
可以使用 typeof 运算符来检测某个变量的值是否为 undefined:
var a;
if(typeof a=="undefined"){ }
如果喜欢,别忘了评分 :
这位鱼油,如果喜欢本系列Js帖子,请订阅 专辑 -->( 传送门)( 不喜欢更要订阅 ) |