[英]Uncaught TypeError: Cannot read property '0' of undefined “Javascript”
[英]Uncaught TypeError: Cannot read property of undefined - javascript
我知道以前曾有人问过这个问题,但是我浏览了这个问题的不同版本,但没有找到针对我特定问题的答案。
我的代码:
var display = {
difference: function(a) {
return Math.abs(state.price - state.greens[a].pricePer30);
},
// Some more methods here
运行代码时,我得到以下信息:
Uncaught TypeError: Cannot read property 'pricePer30' of undefined
但是,如果我跑步
console.log(display.difference(0))
它返回正确的答案。
当我阅读此问题时:
我认为也许我正在使用的参数实际上已在脚本的其他地方重用,所以我将参数更改为:
var display = {
difference: function(num) {
return Math.abs(state.price - state.greens[num].pricePer30);
},
// Some more methods
但是我得到了同样的错误信息。
我应该在代码中寻找什么来解决此问题?
问题很明显是对于特定索引a未定义state.greens [a]。 在消除棘手的问题之前添加一个检查,但是我猜您将不得不研究为什么索引a也未定义。
if(typeof state.greens[a] !== "undefined") {
return Math.abs(state.price - state.greens[a].pricePer30);
} else {
console.warn("Found undefined state for index: ", a);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.