JavaScript 里 var a =a ||{}


首先,搞明白||的意思。

1、在js里面,||運算符,比如(A||B)有個很有意思的用處:

2、系統先判斷A表達式的布爾值,是真是假。如果為真,直接返回A。如果為假,直接返回B(不會判斷B是什么類型)。

所以,var a=a||{},這樣寫的意圖就是,先考慮右側的表達式 a||{}, 根據規則,先判斷a的值是否為真(也就是判斷a本身是否存在),如果a本身存在,則返回a。如果a不存在,則返回后面的{}。最后再將值返回給a。這樣寫,雖然看着比較復雜點,但是效率高,特別是判斷一些變量,屬性或者是傳參是否存在,如果存在就直接用,不存在,就賦予一個空變量。相當於下面的簡寫:

if(a){

var a=a;

}

else{

var a={} //將一個空對象傳給a

}

或這樣答

var a;

if(a === 0 || a === "" || a === false || a === null || a === undefined) a = {}

那句話的定義。

還有你這種情況 a 是函數的入口參數吧,代碼是這樣的對吧

function(a){

    var a = a || {}

}

它等價於

function(a){

    if(a === 0 || a === "" || a === false || a === null || a === undefined) a = {}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM