我在窗口对象上定义了一个函数,有点像这样
window["functionName"] = function(){
// code here
};
现在每当我需要该功能时,我只需调用
window["functionName"]();
这适用于除 IE8 之外的所有浏览器。IE8 报错
SCRIPT438: Object doesn't support property or method 'functionName'
我搜索了解释,但没有找到任何解释。
编辑:经过长时间的调试,我得到了错误的原因
实际上上面的函数定义在另一个函数中。
function otherFunction(){
window["functionName"] = function(){
// code here
};
// code here
}
当我把它移到外面时,它看起来工作正常。
window["functionName"] = function(){
// code here
};
function otherFunction(){
// code here
}
但我仍然无法理解为什么会出现这种奇怪的行为?