每天一个前端知识(49):间接调用eval函数优于直接调用

frontend

Posted by Tiny on July 13, 2017
var str = 'hello';
function test() {
    var str = 'world';
    return eval('str');
}
console.log(test()); // world
var str1 = 'hello1';
function test1() {
    var str1 = 'world1';
    //var e = eval;
    //return e('str1');
    return (0, eval)('str1'); // 等同于上面注释的部分
}
console.log(test1()); // hello1

谨记

将eval函数同一个无意义的字面量包裹在序列表达式中已达到强制使用间接调用eval函数的目的。

尽可能间接调用eval函数,而不要直接调用eval函数。

参考资料:https://lee134134134.github.io/page/7/