今天使用百度分享的一段代码,看到有这么一句(可能是机器生成的):
with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)]
奇怪的地方是:
with(..)0[];
这段,经测试:
with({a : 1, b : 2})0[console.log(a)];
在控制台输出:
1
undefined
如果这样:
with({a : 1, b : 2})[console.log(a)];
在控制台输出:
1
[Object { __exposedProps__={...}, toString=function()}]
期待有朋友帮忙解释:
with()0[]
这段代码应该如何理解的??
结论,如果这代码是人写的,那他一定需要治疗。