在函数范围内访问本地eval

时间:2012-02-04 22:58:10

标签: javascript

请考虑以下两段代码:

(function f() { 
    var x;
    try {
        eval("x");
        console.log('No error!');
    }
    catch (e) {
        console.log('Error!');
    }
}(eval))

(function f(eval) { 
    var x;
    try {
        eval("x");
        console.log('No error!');
    }
    catch (e) {
        console.log('Error!');
    }
}(eval))

第一次打印No error!,第二次打印Error!。有没有办法在函数范围内访问“evaleval是其中一个参数?

2 个答案:

答案 0 :(得分:0)

您仍然可以使用

window.eval()

在这种情况下

答案 1 :(得分:0)

全局函数是window对象的一部分。请改为呼叫window.eval()