百度分享中一段看不懂的代码

我在看百度分享生成的代码时,有一段看不懂的代码

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[],代码功能还是完善的。

阅读 2.3k
1 个回答

(xxxxx)的时候,xxxx的返回值可能会被输出。
而加了0[]之后,xxxx的返回值就不会被输出了。

为了更方便理解,请在浏览器的调试台里试一下(document.body)0[(document.body)]
前者输出的是body的代码,后者输出的是undefined

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题