请参阅下面的代码。为什么会test2()
导致错误而test1()
不会?如何避免错误(无需在构造函数中重新定义被调用函数)?
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var xyz = function (){
var test1 = function () { getRandomInt(10, 20); };
test1(); // runs with out problem
var test2 = new Function('getRandomInt(10, 20);');
test2(); //results in "Uncaught ReferenceError: getRandomInt is not defined"
};