我在看百度分享生成的代码时,有一段看不懂的代码
with(document)
0[(document.getElementsByTagName('head')[0] || document.body).appendChild(document.createElement('script')).src =
'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];
唯一不能理解的就是 0[xxx]的部分。[]中创建script标签、加载标签的代码,为什么要写在0[]?。 自己有去尝试,不使用0[],代码功能还是完善的。
(xxxxx)
的时候,xxxx的返回值可能会被输出。而加了
0[]
之后,xxxx的返回值就不会被输出了。为了更方便理解,请在浏览器的调试台里试一下
(document.body)
和0[(document.body)]
。前者输出的是
body
的代码,后者输出的是undefined
。