首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

处理 JSundefined 的 7 个技巧

访问不存在的属性 访问不存在的对象属性时,JS 返回undefined。...技巧3:检查属性是否存在 JS 提供了许多方法来确定对象是否具有特定属性: obj.prop!== undefined:直接undefined进行比较 typeof obj.prop!...涉及undefined进行比较剩下的两种方式可能有效,但在我看来,obj.prop!== undefined和typeof obj.prop!...因为这样可以避免undefined以及处理它相关的问题。 技巧5:用默认属性填充对象 如果不需要像解构赋值那样为每个属性创建变量,那么丢失某些属性的对象可以用默认值填充。...总结 undefined的存在是JS的允许性质的结果,它允许使用: 未初始化的变量 不存在的对象属性或方法 访问越界索引的数组元素 不返回任何结果的函数的调用结果 大多数情况下直接undefined

5K20

详解 undefined null 的区别

Undefined 和 Null 是 Javascript 中两种特殊的原始数据类型(Primary Type),它们都只有一个值,分别对应 undefined 和 null ,这两种不同类型的值,既有着不同的语义和场景...,又表现出较为相似的行为: undefined undefined 的字面意思就是:未定义的值 。...当然,你也可以手动给一个变量赋值 undefined,但这样做没有意义,因为一个变量不赋值就是 undefined 。 null null 的字面意思是:空值 。...试想一下,如果此处把 null 换成 undefined 会不会感到别扭? 显然语义不通,其操作不能正确的表达其想要的行为。 null 相关的另外一个问题需要解释一下: ?...相似性 虽然 undefined 和 null 的语义和场景不同,但总而言之,它们都表示的是一个无效的值。 因此,在JS中对这类值访问属性时,都会得到异常的结果: ?

1.4K20

null 和 undefined

二. null和undefined: alert(undefined == null); // 返回 true 对于 undefined 和 null 的相等性测试,返回 true,如上图。...但是,这两者差别很大,之所以要设置两个值,让我们从历史原因说起吧 1)历史原因: 1995年js诞生时,最初像Java一样,只设置了 null 作为表示”无”的值。...= null){ //对abc执行某些操作 } ② undefined undefined 是基本数据类型之一,值仅有一个,即为 undefined。...var x = f(); var exp = undefined; 8x // undefined ③ 如何检测某个变量是 undefined: 错误的用法: if(abc==undefined)...// 正如上面所说,js规定用`==` 判断时,null和undefined是等同的 正确的用法: if (typeof(abc) `==` "undefined") 或者最简单的办法: if(abc

1.7K40

undefined vs null

但是,在JS中,存在两个空值 1. undefined 2. null 1. undefined vs null 一般情况下,这两个值在使用上都可以互换使用。只有在一些细微的方面存在差别。...我们可以从使用上对其进行分类 undefined: 是语言层面上使用的非值(定义一个变量,但未赋值,此时该变量会被JS引擎自动赋为undefined) null: 蓄意控制变量的值 2....Object.prototype不存在原型对象且值为null Object.getPrototypeOf(Object.prototype) // null 正则匹配失败 如果将一个正则表达式(如/a/)一个字符串...和 null 没有任何属性 undefined和null是JS中仅有的两个变量:当试图读取它们的属性,会得到一个错误。...read property 'foo' of null getFoo(true) // undefined getFoo({}) // undefined 如果,继续深究的话,其实,这涉及到JS

1K10
领券