最近我正在处理一些JavaScript代码,我发现了这个:
<script type="text/javascript">
window.localStorage&&window.localStorage.clear();
</script>
我在网上做过研究,但没有发现任何关于'&amp;&amp;'的实际情况。如果不在控制语句中,则运算符有效。
有谁知道它是如何工作的?
答案 0 :(得分:4)
这与:
相同if(window.localStorage){
window.localStorage.clear();
}
&&
只要看到false
(或“假”)值就会短路。
因此,如果window.localStorage
为false
(或“假”),则会停止。如果是真的,它会继续并运行window.localStorage.clear()
。返回值被忽略。
答案 1 :(得分:1)
if this code evaluates to a truthy value&&run this code
答案 2 :(得分:0)
无论是否是控制语句的一部分,表达式都是表达式。在这种情况下,表达式涉及布尔运算。因此,如果第一部分是true
,表达式将评估第二部分。
在这种情况下,只有当window.localStorage
不是window.localStorage
时才会在null
上执行clear()方法。