Errors: Undefined prop
Errors: Undefined prop
信息
ReferenceError: reference to undefined property "x" (Firefox)
错误类型
ReferenceError
仅在严格模式下警告。
哪里出错了?
该脚本试图访问不存在的对象属性。有两种访问属性的方法; 请参阅属性访问器参考页面以了解更多关于它们的信息。
有关未定义属性引用的错误仅出现在严格模式代码中。在非严格的代码中,对不存在的属性的访问被忽略。
示例
无效的情况
在这种情况下,该属性bar
是一个未定义的属性,所以ReferenceError
会发生。
'use strict';
var foo = {};
foo.bar; // ReferenceError: reference to undefined property "bar"
有效的情况
为了避免错误,您需要为bar
对象添加一个定义,或者bar
在尝试访问该对象之前检查该属性是否存在; 一种方法是使用该Object.prototype.hasOwnProperty()
方法),如下所示:
'use strict';
var foo = {};
// Define the bar property
foo.bar = 'moon';
console.log(foo.bar // "moon"
// Test to be sure bar exists before accessing it
if (foo.hasOwnProperty('bar') {
console.log(foo.bar
}