本文內容涵蓋
- Web 應用程式生命週期
- 處理 HTML 以產生網頁
- JS 程式碼的執行順序
- 與事件互動
- 事件迴圈
Web 應用程式生命週期
Web 應用程式真正的生命起始於第四步驟:收到伺服器回傳的頁面時。
Web 應用程式真正的生命起始於第四步驟:收到伺服器回傳的頁面時。
// 原始寫法
function test(fruit) {
// 條件語句
if (fruit === "apple" || fruit === "strawberry") {
console.log("red fruit");
}
}
乍看之下,寫法沒什麼錯誤。可是當我們有更多紅色水果的選項時,如 cherry
(櫻桃)和 cranberries
(蔓越莓),難道我們要增加更多的 ||
邏輯運算子來判斷?
我們用 Array.includes 來改寫一次上面的判斷式:
// 改寫後
function test(fruit) {
// 將選項提取出來,放入陣列當中
const redFruits = ["apple", "strawberry", "cherry", "cranberries"];
if (redFruits.includes("apple")) {
console.log("red fruit");
}
}
i
for(var i = 0; i<10; i++) {
console.log(i)
}
console.log(i) // 10
10
。i
本篇文章翻譯自 How to clone an array in JavaScript - by Yazeed Bzadough on freeCodeCamp @medium,搭配 JS 的拷貝 by Kai @github 提及的概念,整理成筆記。
8.
JSON.parse and JSON.stringify 是深拷貝。其他都是淺拷貝。object
時,會參考到同一個物件,並沒有將此物件拷貝到並建立出新的關聯。object
時,會獨立出來不共用同一個記憶體位置,改動 newObject
時不會動到 oldObject
。將 this
鎖在 function
當中。
為了取代舊有的.bind()
(.bind()
會綁定 this 到指定的 obj
)。
只要 function
內的 this
還要再往下傳的時候,就適合使用 arrow function
。
node.js
JavaScript
運行於瀏覽器外。LTS
是較穩定的版本,Current
是有其他新的功能。iTerm
建立 js
檔案,並用 node
執行寫好的程式。JavaScript
:vim index.js
// index.js
console.log(123)
複數
單數