with在严格模式下是禁止使用的,而debugger是在调试模式下才有效果的,目测作者自己在用的脚本压缩工具在有dubugger语句的情况下会影响压缩结果,导致失败。
with(varible)实际上是改变作用域链,将当前的作用域链上加上varible的属性,使用结束后再把作用域链变回原来的。
with({one:1,two:2}) { console.log(one); }
事实上with我们只用来检索数据,而不是创建数据,但with的本意就是节省语句,所以在性能上会更差。
debugger在习惯了java断点调试的人或许会有些不解,我在刚开始做前端开发的时候经常都是用alert在调试的,后面开始学会了使用开发者工具,知道了debugger可以指定一个断点。
常做前端断点测试的人知道,比如进入页面之后找到脚本并断点才能生效,这往往给前端人员造成困扰,毕竟js与java不一样,js是动态脚本。
当前IE9+和主流浏览器大都支持console.log,控制台输出。节省了前端开发人员很大一部分精力。
with 与 debugger
时间: 2024-10-26 08:43:59