2016年3月24日

[筆記] 談談 JavaScript 中的 "this" 和它的問題

在 JavaScript 中有一個很特別、很常用又常常讓初學者很困擾的東西 ─ this,在這堂課中會來談談這個讓人又愛又恨的 this。 this 通常會指稱到一個物件,同時 this 會在不同的情境下指稱到不同的物件。 讓我們來看幾個不同的情境,幫助我們更了解 this。 Global Object (Window 物件) 這裡我們在三種不同情境去呼叫 this,分別是在程式的最外層(outer environment)直接去執行;使用function statement 去執行;使用 function expression 去執行(如果還不清楚 function...

2016年3月13日

[筆記] 談談 JavaScript 中 by reference 和 by value 的重要觀念

圖片來源:Udemy 在這堂課中,我們會說明在 JavaScript 中很重要的一個觀念,也就是說明什麼是 by value 和 by reference,正確了解這個觀念,能夠在寫程式的時候避免不必要的 bug 發生。 那我們先來看一段簡單的程式,接著再繼續說明 by value 和 by reference 的觀念。 我們先建立一個變數 a,並且值為 3 (var a = 3);接著,我們在建立變數 b,把 b 的值等於 a (b = a);最後,我們再把 a 的值改為 2 (a = 2)。 然後,我們把 a 和 b 呼叫出來,你猜猜看會得到什麼值: 這時候,我們會發現...

2016年3月10日

[筆記] 進一步談JavaScript中函式的建立─function statements and function expressions

圖片來源:Udemy 在這堂課中,我們會說明 function statements 和 function expressions 這兩種不同建立函式的方式,這是兩個許多新手在學 JavaScript 會有些搞不懂的地方。 在進入到 function 的部分前,先來看看表達式(expressions)和陳述句(statements)有什麼不同吧。 表達式(Expressions)和陳述句(Statements)的差異 表達式(Expressions) Expressions 指的是輸入後能夠直接回傳值的一串程式(a unit of code that...

[筆記] JavaScript 中函式就是一種物件 ─ 談談 first class function(一等公民函式)

在這堂課中,作者說明了一個很重要的觀念,也就是在 JavaScript 中,函式也是物件的一種(functions are object)。 First class functions First Class Functions(一級函式),指的是任何你可以對函式做出任何對其他型別(Objects, String, Boolean, Numbers)也做得到事,包括將 Function 指定成一個變數,帶入另一個函式中等等 。 JavaScript...