帶你讀書之“紅寶書”:第三章 語法基礎(上)之 var關鍵詞

「這是我參與2022首次更文挑戰(zhàn)的第3天,活動詳情查看:2022首次更文挑戰(zhàn)

寫在前頭

大多數小伙伴看技術書籍都會用“啃”來描述讀書的直觀感受,當然我也是一個前端小白贬养,白的透明那種,但是我在讀技術書籍感覺到“啃”的時候植影,我希望把我啃紅寶書第四版的過程的想法褂乍,總結帶給大家帖渠,以供后來者能夠更快上手尤溜。

注: 本文由于作者水平原因倔叼,如有錯誤之處,懇請大家指正,另外隨著學習的深入宫莱,體會的加深丈攒,我會不斷回來更新,修改這類文章授霸。

思維導圖

image.png

脈絡 (本篇只包含3.3. 變量之3.3.1var關鍵詞)

這小節(jié)其實核心就是介紹了var肥印,let,const 這3個變量的關鍵字绝葡,以及平時的聲明風格,實踐腹鹉。
本篇先寫var關鍵詞

3.3. 變量

image.png

3.3.1var

  1. 定義變量類型不固定

簡單來說就是使用var關鍵詞聲明的變量可以存任何類型的值藏畅,就是一個盒子而已。

var name = '張三';
name = 1; // 依然是合法的功咒,但是不推薦這么做
  1. 函數作用域

作用域在后面章節(jié)會介紹到愉阎,這里就簡單理解為一個函數{}里面的所有內容。

簡單來說就是使用var聲明的變量力奋,只有在包含這個變量的函數作用域里面有效榜旦。其他地方使用會報錯。

 function sayHi() {
            var say = 'hi';
            console.log(say);
        }
 sayHi(); // 調用函數 輸出hi景殷。
console.log(say); // 報錯
  1. 聲明提升

就是說可以先上車后補票溅呢, 先用這個變量,后面在聲明也可以猿挚。var聲明的關鍵詞咐旧,他會自動把聲明的變量提升到函數作用域的頂部。

  function sayHi() {
            console.log(say);
            var say = 'hi';
        }
 sayHi(); // 調用函數 輸出undefined绩蜻。

為什么不輸出hi铣墨?因為var聲明的變量只會提升聲明,并不會把賦值也提升了办绝。上面的代碼和下面的代碼等價伊约。

  function sayHi() {
          var say
          console.log(say); 
          say = 'hi';
        }
 sayHi(); // 調用函數 輸出undefined。這個時候say還沒有被賦值孕蝉,自然就是undefined

補充:已經聲明的變量且為賦值屡律,那么他的值默認是undefined。

  1. 重復聲明

多次使用var關鍵詞聲明同一個變量降淮,都會合并為一次聲明這個變量疹尾,賦值以最后一次為準確。

  function say() {
         var say = 'hi';
         var say = 'Hi';
         var say = 'Hello';
          console.log(say); 
        }
 say(); // 調用函數輸出 Hello 

三次var聲明合并,最后是 var say = 'Hello';

  1. 省略var關鍵詞纳本,聲明窍蓝。

當省略var 關鍵詞直接書寫一個變量名 會被視為是全局變量。并且在嚴格模式(另外一直JavaScript解析和執(zhí)行模型)這樣會報錯繁成。

  function say() {
         say = 'hi'; // say 是全局變量吓笙,在函數作業(yè)域外依舊起作用
         console.log(say);  
        }
 say(); // 調用函數輸出 hi
  console.log(say); // 輸出hi
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市巾腕,隨后出現的幾起案子面睛,更是在濱河造成了極大的恐慌,老刑警劉巖尊搬,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叁鉴,死亡現場離奇詭異,居然都是意外死亡佛寿,警方通過查閱死者的電腦和手機幌墓,發(fā)現死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冀泻,“玉大人常侣,你說我怎么就攤上這事〉妫” “怎么了胳施?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長肢专。 經常有香客問我舞肆,道長,這世上最難降的妖魔是什么博杖? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任胆绊,我火速辦了婚禮,結果婚禮上欧募,老公的妹妹穿的比我還像新娘压状。我一直安慰自己,他們只是感情好跟继,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布种冬。 她就那樣靜靜地躺著,像睡著了一般舔糖。 火紅的嫁衣襯著肌膚如雪娱两。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天金吗,我揣著相機與錄音十兢,去河邊找鬼趣竣。 笑死,一個胖子當著我的面吹牛旱物,可吹牛的內容都是我干的遥缕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼宵呛,長吁一口氣:“原來是場噩夢啊……” “哼单匣!你這毒婦竟也來了?” 一聲冷哼從身側響起宝穗,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤户秤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后逮矛,有當地人在樹林里發(fā)現了一具尸體鸡号,經...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年须鼎,在試婚紗的時候發(fā)現自己被綠了鲸伴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡莉兰,死狀恐怖,靈堂內的尸體忽然破棺而出礁竞,到底是詐尸還是另有隱情糖荒,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布模捂,位于F島的核電站捶朵,受9級特大地震影響,放射性物質發(fā)生泄漏狂男。R本人自食惡果不足惜综看,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望岖食。 院中可真熱鬧红碑,春花似錦、人聲如沸泡垃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔑穴。三九已至忠寻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間存和,已是汗流浹背奕剃。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工衷旅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纵朋。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓柿顶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親倡蝙。 傳聞我的和親對象是個殘疾皇子九串,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內容