非严格模式下可使用!!!
1、eval(‘代码块’);
function foo(str) {
//"use strict";
eval( str );
console.log( a ); // ReferenceError: a is not defined
}
foo( "var a = 2" );
2、with
var obj = {
a: 1,
b: 2,
c: 3
};
// 单调乏味的重复 "obj"
obj.a = 2;
obj.b = 3;
obj.c = 4;
// 简单的快捷方式
with (obj) {
a = 3;
b = 4;
c = 5;
}
不推荐使用 eval(..) 和 with 的原因是会被严格模式所影响(限
制)。with 被完全禁止,而在保留核心功能的前提下,间接或非安全地使用
eval(..) 也被禁止了。
网友评论