很多人第一次學 JavaScript 語法時,都覺得它像一座迷宮:規則很多、坑也不少。
而我那天晚上敲代碼敲到困,眼睛一閉一睜,居然穿越到了一個叫 “JS 魔法城” 的奇怪地方。城門口立着一塊大牌子,上面寫着:
“來者止步:進入本城,請遵守 JavaScript 語法,否則法術失敗、代碼報錯、Bug 會追着你跑。”
我揉揉眼睛,心説:這不是我每天敲的那些語法嘛?
結果城門後面卻跑出一位小精靈,頭上還戴着“變量標識符管理局”字樣的小帽子。
“歡迎來到 JS 魔法城,小米!我們要帶你參觀五大法術規則。學會它們,你就能成為真正的 JavaScript 魔法師!”
我當然同意了。畢竟誰不想升級一下自己的編程魔法?於是,小精靈帶我踏上了五大語法法則的冒險之旅。
第一站:區分大小寫——城裏的“護城河”
走進城門的瞬間,精靈嚴肅地説:
“小米,你先記住,這個城市的法術——嚴格區分大小寫!”
我想起自己曾經在項目裏,因為寫成 Document 而不是 document,導致調 bug 調了一下午。小精靈揮動魔杖,一行代碼浮現在空中:
他解釋:
- name 和 Name 是兩個完全不同的變量
- document 和 Document 就像城裏的衞兵和國王,地位完全不同
- function 不能寫成 Function
- let 和 Let 完全不是一回事
“如果你把大小寫搞混,我們這座城的護城河會立刻把你的法術淹了。”
這話讓我突然覺得,JavaScript 像一位古板但認真負責的城主:
不聽招呼,不認錯字,更不會幫你兜底!
第二站:標識符——魔法身份證辦理處
接下來我們來到“變量標識符管理局”。大門口寫着:
“想要在 JS 城裏存在,你必須先獲得合法身份。”
精靈告訴我:在 JS 裏,每個變量、函數、類,其實都像城裏的居民,都需要一張合法的“身份證”,這就是 標識符(Identifier)。
標識符的規則(像身份證的辦理條件)
我看到牆上貼着一張大表格:
小精靈示範了一些合法與非法的標識符:
小精靈説:“我們 JS 魔法城的居民都靠標識符來辨認身份。所以,如果身份證不合格,城衞兵一律不放行。”
第三站:註釋——魔法筆記圖書館
走着走着,我們來到一個巨大的圖書館——“註釋檔案館”。裏面滿是發光的書本。我隨手翻開一本,看到上面寫着:
“註釋不是給機器看的,是給人看的。”
小精靈點頭説:“你可以把註釋當作魔法師的筆記。在 JS 魔法裏,註釋不會被執行,但它能讓你以後少踩很多坑。”
他舉起魔杖,空中出現兩種註釋方式:
小精靈補充:
- 註釋是知識的傳承
- 註釋是代碼的閲讀指南
- 註釋甚至可以在團隊合作中救命
我不禁回想起自己看別人寫的業務代碼時,如果沒有註釋,總會抓耳撓腮:“寫這段的是啥意思?”
於是我默默決定:以後寫代碼一定要像 JS 魔法城的魔法師一樣寫註釋。
第四站:嚴格模式——王宮裏的鐵律法
離開圖書館,我們被帶到一個金碧輝煌的宮殿。精靈説:“這裏住着最嚴肅的法官——嚴格模式(strict mode)。”
宮殿門上寫着違反語言規則的魔法師,將在此被審判。嚴格模式就是:
沒想到,嚴肅的法律也能變成這樣一句簡單的小字符串。
嚴格模式的作用
小精靈打開一卷卷軸,上面寫着開啓嚴格模式後的規則:
他展示一段嚴格模式下的代碼報錯示例:
小精靈説得直白:“嚴格模式就是 JS 城的鐵律。它能讓你寫出更規範的代碼,也能幫你提前暴露 bug。”
我瞬間領悟:嚴格模式不是來限制我的,而是來保護我、幫我少踩坑的。
第五站:語句——魔法師的咒語課程
最後,我們來到“語句學院”。精靈説:
“語句,就是魔法師們真正施展法術的地方。”
我在學院牆上看到這樣一句話:
“語句是 JavaScript 中最基本的執行單位。”
語句有很多種:
小精靈帶我看了幾個典型示例:
他説:“真正寫代碼的時候,你的一切邏輯,就是由各種語句組合而成的魔法。”
我突然覺得,語句就像魔法師的咒語:你念什麼,城裏的元素就會跟着發生變化。
冒險結束:我帶走了 JS 城的語法寶典
遊歷完整個 JS 魔法城,精靈給了我一本厚厚的“JavaScript 語法寶典”。臨走前他説:
“小米,你要記住:學語法不是為了考試,是為了讓未來的你能寫出更強大、更穩健的代碼。”
回到鍵盤前,我突然覺得寫 JavaScript 也沒那麼枯燥了。畢竟,每寫一段代碼,就像在施展一段魔法。
總結:JS 語法城五大法則
為了方便你記憶,我把今天學到的內容整理成一張總表:
END
我始終相信,技術如果只是概念堆砌,會讓人學得煩躁;但如果它能變成故事、變成城堡、變成冒險,就會變得很有趣。
我是小米,一個喜歡分享技術的31歲程序員。如果你喜歡我的文章,歡迎關注我的微信公眾號“軟件求生”,獲取更多技術乾貨!
好朋友們,我們下期再見~