这很奇怪,我正在尝试使用我定义的变量:
window.params['variable'] = { ... };
在我正在使用的函数中,我有这个:
function q()
{
...
// for example
return new Chart( canvas, window.params['variable'] );
...
}
当我执行此操作时,我收到错误:Uncaught TypeError:无法读取未定义的属性“变量”
但是,令人难以置信(对我来说),当我将参数定义为:
window.params = { ... }
错误消失,函数运行正常!为什么?
(显然,我首先将 window.params['variable']
替换为 window.params
,但我相信这是等效的)
谢谢。
最佳答案
在向 params
添加属性之前,您需要先定义 params
。
所以正确的做法是
window.params = {};
window.params['variable'] = { };
或
window.params = {
'variable' : {}
};
然后
function q(){
...
// for example
return new Chart( canvas, window.params['variable'] );
...
}
您将在这里获得更多相关信息: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Object_initializer
关于javascript - 为什么使用窗口变量查找索引时出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42184532/