2

最近、私はいくつかの JavaScript コードを扱っていて、これを見つけました:

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

私はウェブ上で調査を行いましたが、「&&」演算子が制御ステートメントにない場合に実際にどのように機能するかについては何も見つかりませんでした。

誰もがそれがどのように機能するか知っていますか?

4

3 に答える 3

4

それは次と同じです:

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

値 (または「偽」) を検出する&&とすぐに短絡します。false

したがって、そうwindow.localStorageであるfalse(または「偽」である) 場合、停止します。true の場合、継続して実行され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

制御ステートメントの一部であろうとなかろうと、式は式です。この場合、式にはブール演算が含まれます。したがって、最初の部分が の場合、式は 2 番目の部分を評価しtrueます。

この場合、 ではないwindow.localStorage場合にのみclear() メソッドを実行します。window.localStoragenull

于 2012-05-25T19:01:08.173 に答える