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

查看:128
本文介绍了javascript - 百度分享中一段看不懂的代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

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

这篇关于javascript - 百度分享中一段看不懂的代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆