不确定这是否是发帖的正确位置,但是看一下我有的HTML5样板...
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"></script>
<script>window.jQuery || document.write('<script src="_includes/js/libs/jquery-1.6.2.min.js"><\/script>')</script>现在我已经读到了第二个脚本,如果第一个脚本宕机了,那是一种后退,但如何呢?我一直认为||是OR运算符,对我来说,它看起来就像是在页面加载时向页面写入一个旧的jQuery库?
发布于 2012-05-21 22:19:43
仅当左侧为"falsey“时,才会计算||运算符的后半部分。这就是所谓的“短路评估”*
因此,当window.jQuery为undefined时,它会执行document.write()。
* true || x == true,而不考虑x的值,因此为左手操作数指定true的短路||运算符将跳过对表达式右手的求值,因为它不会更改结果。
相反,false && x == false。
发布于 2012-05-21 22:19:17
因为javascript是一种错误的语言,如果jQuery不可用,window.jQuery将返回undefined,它等同于false。
因此,将执行语句的第二部分,将<script>标记写入包含jQuery本地备份版本的文档。
https://stackoverflow.com/questions/10687007
复制相似问题