我有问题,但我无法解决......
其他网站上有一个功能,所以我无法对其进行修改
代码是
我想添加一个原型" aaa"获得i(5)
返回值
我该怎么办?
(function () {
function i(a) {
return a + 1; //complex calculate...
}
window.Util = {
n: i(1),
windowUtil: i(2),
Hub: i(3)
};
})
eval("window.Util.aaa = i(5) ");
但是错误
"未捕获的ReferenceError:我没有被定义" .....
答案 0 :(得分:1)
这里有几个问题
function
表达式已定义但未调用i
未在eval
工作的全球范围内公开。<强>演示强>
(function () {
window.i = function i(a) {
return a + 1; //complex calculate...
}
window.Util = {
n: i(1),
windowUtil: i(2),
Hub: i(3)
};
})();
console.log(eval("window.Util.aaa = i(5) "));
答案 1 :(得分:0)
您已在自调用函数中定义了function i()
。在自调用函数之外使用它。像这样:
function i(a) {
return a + 1; //complex calculate...
}
(function () {
window.util = {
n: i(1),
windowUtil: i(2),
Hub: i(3)
};
})()
alert(eval("window.util.aaa = i(5)"))
&#13;