题目:
with({}){ //在不污染全局情况下定义 with 里内部变量 //代码必须写在以下大括号里 alert(f) // 1 ,让 f 值为 1 } alert(window.f) //undefined
答案:
with({}){ //在不污染全局情况下定义 with 里内部变量 //代码必须写在以下大括号里 constructor = function(){return this;}; constructor = constructor(); constructor.f = 1; alert(f) // 1 ,让 f 值为 1 } alert(window.f) //undefined
利用object的构造器功能, 使with的作用域做出改变