本文共 1127 字,大约阅读时间需要 3 分钟。
eval("2 + 2"); // returns 4
eval(new String("2 + 2")); // 返回了包含"2 + 2"的字符串对象String {"2 + 2"}eval(new String("2 + 2").toString()); //返回4
function test() { var x = 2, y = 4; console.log(eval("x + y")); // 直接调用,使用本地作用域,结果是 6 var geval = eval; // 等价于在全局作用域调用 console.log(geval("x + y")); // 间接调用,使用全局作用域,throws ReferenceError 因为`x`未定义 (0, eval)('x + y'); // 另一间接调用的例子}
var x = 2;var y = 39;var z = "42";eval("x + y + 1"); // returns 42eval(z); // returns 42
var x = 5;var str = "if (x == 5) {console.log('z is 42'); z = 42; x = 420; } else z = 0;"; console.log('x is ', eval(str)); // z is 42 x is 420
var fctStr1 = 'function a() {}'var fctStr2 = '(function a() {})'var fct1 = eval(fctStr1) // return undefinedvar fct2 = eval(fctStr2) // return a function
转载地址:http://ofaen.baihongyu.com/