LiaVa Asked:2020-11-04 16:02:47 +0000 UTC2020-11-04 16:02:47 +0000 UTC 2020-11-04 16:02:47 +0000 UTC 你应该使用函数吗? 772 我马上说,我不需要它来完成任何任务,所以我不需要说什么“锤子错误” Function()它与eval(在代码处理方面)有何不同?它更安全吗? javascript 1 个回答 Voted Best Answer Grundy 2020-04-22T15:33:47Z2020-04-22T15:33:47Z 主要区别在于直接调用eval可以访问局部变量,而使用它时,Function只能访问全局上下文。 例子: var a = 'outer'; function A() { var a = 'inner'; var fun = new Function('', 'return a;'); var ev = eval('a'); // прямой вызов var ev2 = (0,eval)('a'); // непрямой вызов console.log(fun(), ev,ev2); } A();
主要区别在于直接调用
eval可以访问局部变量,而使用它时,Function只能访问全局上下文。例子: