摘要:
一个不常见的闭包陷阱:var test1 = { name: 'Cson' }; var name = 'noName'; with (test1) { function setName() { name = 'xiaoc'; } setName(); } alert(test1.name); alert(name);我们常常在资料中看到类似这样的描述:with打开对象闭包,在对象闭包里设置属性和方法等于为该对象添加属性以及方法。按这种思路理解,上面的结果应该分别是:'xiaoc'以及'noName'.但是实验结果 阅读全文