2

最近我正在使用一些 JavaScript 代码,我发现了这个:

<script type="text/javascript">
    window.localStorage&&window.localStorage.clear();
</script>

我在网络上进行了研究,但没有发现任何关于 '&&' 操作符如果不在控制语句中的实际工作方式。

有谁知道它是如何工作的?

4

3 回答 3

4

这与以下内容相同:

if(window.localStorage){
    window.localStorage.clear();
}

&&一旦看到false(或“假”)值,就会短路。

所以,如果window.localStoragefalse(或“假”),它就会停止。如果它是真的,它会继续运行window.localStorage.clear()。返回值被忽略。

于 2012-05-25T18:59:15.163 回答
1
if this code evaluates to a truthy value&&run this code
于 2012-05-25T18:59:24.163 回答
0

无论是否是控制语句的一部分,表达式都是表达式。在这种情况下,表达式涉及布尔运算。因此,如果第一部分是 ,则表达式将评估第二部分true

window.localStorage在这种情况下,它只会在window.localStorageis not时执行 clear() 方法null

于 2012-05-25T19:01:08.173 回答