JS:var a={};b={}; 是否可以簡寫為var a=b={}; ?

var a={};b={}; 是否可以簡寫為var a=b={}; ?

這兩種寫法是有區(qū)別的。

本題涉及了兩個知識點:變量的作用域和比較運算符。

變量的作用域:
兩種寫法分別聲明了兩個變量,它們的作用域是一致的。a 是當(dāng)前作用域變量(變量在函數(shù)外定義,即為全局變量;在函數(shù)內(nèi)定義,即為局部變量),而 b 是全局變量。

比較運算符:
var a=b={}; a 和 b 均指向了同一個地址。它們是 絕對相等,即 a==b a===b 均為 true。

var a={};b={}; a b 指向了不同地址。它們 不是絕對相等。

是否相等可以參考 https://dorey.github.io/JavaScript-Equality-Table/

ps.可以通過下面的庫比較指向了不同地址的對象是否相等 http://underscorejs.org/#isEqual

用法

var stooge = {name: 'moe', luckyNumbers: [13, 27, 34]};
var clone  = {name: 'moe', luckyNumbers: [13, 27, 34]};
stooge == clone;
=> false
_.isEqual(stooge, clone);
=> true

正確的簡寫方案:

var a={};b={};

等價于

b = {}; // 全局
var a = b;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 《ijs》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,646評論 0 7
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,734評論 18 399
  • 東山, 已經(jīng)在我眼前晃悠了幾月, 無暇光顧, 總感覺太遠! 遠眺那陡峭的山石, 又感覺好高! 我已佇立了千年! 今...
    落憶無痕remigar閱讀 518評論 1 3
  • 今天回到了家里,現(xiàn)在安靜的吃著話梅碼著字。下午睡覺的時候被突如其來的客戶的電話驚醒,驚恐的發(fā)現(xiàn)當(dāng)時自己滿頭大汗...
    李_蘑菇閱讀 169評論 0 0
  • 熱戀過后,剩下的還有什么? 前幾天在簡書看了一位朋友寫的文章,里面的幾句特別好,寫出了多少人的心聲?。?“太容易到...
    kanty__加油閱讀 486評論 0 1

友情鏈接更多精彩內(nèi)容