我的代码有两种模式。根据模式,data_holder
可能会有很大不同。
我有以下代码。
if (mode == 1) {
trials[i]['material'][k]['named'] = data_holder[a]['segmentation']['named']
// more stuff that works fine.
} else if (mode == 2) {
// more stuff that works fine
}
我在Chrome和Safari上都进行了测试。对于这两种模式,它在Chrome中运行良好。 模式1也适用于safari,但模式2会引发以下错误。扼杀,引发的错误不在应该执行的部分。
TypeError:undefined不是对象(评估 ' data_holder [A] ['分割']&#39)
为什么评估data_holder [a] ['细分']当它不应该在if语句的那一部分时?
答案 0 :(得分:0)
尝试在Safari控制台中粘贴此代码,它可以正常工作:
trials = []
data_holder = {}
mode = 2
if (mode == 1) {
trials[i]['material'][k]['named'] = data_holder[a]['segmentation']['named']
// more stuff that works fine.
} else if (mode == 2) {
// more stuff that works fine
console.log("safe");
}
可能正在发生的其他事情导致模式不能像你期望的那样设置为2。