这个错误通常出现在尝试读取未定义的对象或属性时。解决方法包括:
例如,以下代码中的变量“obj”未定义,而试图读取其属性“prop”会导致上述错误:
var obj; console.log(obj.prop); // TypeError: Cannot read property 'prop' of undefined
例如,以下代码中的“arr”数组未初始化,而试图访问其第一个元素会导致上述错误:
var arr; console.log(arr[0]); // TypeError: Cannot read property '0' of undefined
要解决这个问题,需要先初始化或赋值数组:
var arr = []; console.log(arr[0]); // undefined
如果尝试读取的对象或属性不存在,就会触发上述错误。例如,以下代码中的对象“person”中不存在属性“age”,因此尝试读取此属性会导致该错误:
var person = { name: "Bill" }; console.log(person.age); // TypeError: Cannot read property 'age' of undefined
要解决此问题,需要先确认对象是否包含所需的属性,或者为对象添加相应的属性:
var person = { name: "Bill", age: 30 }; console.log(person.age); // 30