在这篇Javascript中
creds = cp[0];
data[creds.toString()] = cp[1]; // data is an object
Chrome在第二行显示错误TypeError: Cannot call method toString of undefined
。不过,我已经通过调试器验证了creds
的值是1400
的数字。
发生了什么事?
答案 0 :(得分:1)
使用for in
循环到数组时应该非常谨慎。改为使用普通循环。
数组cpl
不仅包含数据,还包含函数,因此循环中的第三个cp
是函数。这就是creds
转向未定义的原因。
此链接有很好的解释:Why is using "for...in" with array iteration a bad idea?
答案 1 :(得分:0)
Javascript不需要变量类型,因此请删除toString()
。
btw我不确定你可以在基本类型上调用toString()
int