ithome

Day25 古典與原型繼承、瞭解原型

今天來看看古典繼承、原型繼承與原型的介紹 繼承 表示一個物件可以取用另一個物件的屬性或方法 Classical Inheritance 古典繼承 C#、JAVA常用到的物件繼承方式,有一些專有名詞(語法)如:private私用、protected保護、friend夥伴、 interface介面...等術語。 古典繼承很流行,也解決了很多問題,但樹狀結構物件的互動模式,一但數量增加,很容易產生複雜、龐大的集合。 Prototypal Inheritance

Day24 函數程式設計

今天來看函數程式設計的兩節影片 (udemy這系列影片稱呼Function為函數,但我個人比較習慣稱呼函式) 函數程式設計課程不可能在一兩節影片就講完,作者解釋他只是希望在這系列課程引入這個概念,以簡短影片讓人先體會它的威力。 先來看看以下程式碼 var arr1 = [1, 2, 3]; var arr2 = []; 現在有陣列arr1、arr2,我們想要複製arr1陣列的內容給arr2,並讓arr2陣列的值變arr1的2倍。 一般接續內容可能這樣寫: for(var i=0; i <

Day23 函式內建方法:bind()、call()與apply()

今天來看看bind()、call()、apply()這三個函式內建方法。 當函式執行環境被創造出來,會一併創造arguments關鍵字,保存帶入自己的參數; 也會一併創造出this關鍵字,指向函數目前所處的物件,關於this可以參考這天的筆記。 若我們希望修改this指向的對象,有辦法達到這個目的嗎? 我們可以利用bind()、call()、apply()這些函式內建方法來達成目的 先來看看bind()的例子 var superMan = { earthName: 'Clark Kent'

Day21 閉包

今天來看看closure閉包 先來看看以下程式碼: function say(whattosay){ return function(name){ console.log(whattosay + ' ' + name); } } 設定一個函式陳述句,在裏頭用函式表示式回傳一個函式,並利用範圍練scope chain的特性放入whattosay,裏頭這個回傳函式沒有宣告whattosay,於是它會外部(參照)查找,去找設定這個函式的say函式參數whattosay。 關於外部參照,可以參考這天的筆記。

Episode

00:00:00 00:00:00