卡斯伯提供的教學資源:
鐵人賽:JavaScript 建構式
了解原型繼承後,可以開始思考這個概念可以用在哪個地方,其中一個就是建構式。我們先不介紹建構式有什麼優點,先了解一下該怎麼透過 JavaScript 來寫建構式,然後再用原型的概念來介紹他的特別之處。 小明到手機行決定挑選一支手機,手機款式很多但基本上都有相同的功能,僅有少部分的規格上有差異,過去那...
鐵人賽:JavaScript 的原型繼承
許多人在寫 JavaScript 應該多少都會聽過原型鍊、原型繼承…,這個觀念在寫 JavaScript 是否重要呢?實作中會不會常使用到這樣的技巧?這裡可以先回答 “會”,而且我們很常使用到原型,而且了解原型會有助於我們加速理解 JavaScript 的概念。 以下有一個物件,物件裡面只有一個 n...
鐵人賽:JavaScript Function 與 Hoisting
Hoisting 在 JavaScript 僅是一個觀念,主要是在說明變數、函式在宣告期間就會先建立一個記憶體空間,等到實際運行時再將值放入到該記憶體空間內。不過為了確保程式的穩定性,我們不會在實作中使用這個方法,僅了解觀念即可。 故事說明:小明的筆記本寫了每天要做的事情,但其實他並不是要做事情時...
鐵人賽:JavaScript 的嚴格模式 "use strict"
JavaScript 不斷的演進下,許多不嚴謹的寫法都應該逐漸被修正,但哪些是需要修正的字詞呢!? 'use strict' 則是新加入的標準,目的是為了讓編寫「具穩定性的 JavaScript 更容易」,在不穩定的語法或妨礙最佳化的語意都會跳出警告,讓開發者避開這些寫法。 而在傳統...
鐵人賽:JavaScript 函式與參數
函式可以將參數傳入,使得函式的可用性提高許多,不過其中也有許多小技巧及方法可以運用,以下我們用 悠遊卡的概念 來說明此段。 小明的悠遊卡裡面有 1000 元,他要儲值一些零用錢進悠遊卡內 (真是優秀青年,這麼多錢還繼續儲),好讓他可以繼續搭乘捷運。 傳入變數以下是一個簡單的函式,用來更新悠遊卡的...
鐵人賽:另一種方式介紹 JavaScript 閉包
閉包解釋非常多,這裡先透過幾個方式說明一下閉包是什麼: 運作原理:就是呼叫 Function 內的 Function 這樣有什麼用:內層 Function 作用域變數只會存在內層 然後勒:內層 Function 變數可以不被釋放,重複使用 卡斯伯會常用此方法嗎:沒注意,好像會不經意的使出來 那幹麻...
鐵人賽:JavaScript 的 this 到底是誰?
This 的在 JS 使用上非常頻繁,但一個 this 每個 function 都各自表示,這裡就直接用範例說明 This 有哪些情境,不過請注意一點,影響 this 的是在於函式的呼叫方法,並非宣告的時機: 純粹的調用 (Simple call)如果直接調用函式,此函式的 this 會指向 win...
鐵人賽:JavaScript 的文法學
大多數國家的語言都是由左到右、由上而下的閱讀方式,中文、拉丁語系就是屬於這類型,但也有部分國家是由右到左的,像是阿拉伯語系就是如此。而 JavaScript 是由左到右,還是由右到左呢?大多情況下我們會認為 JavaScript 是由左到右,但部份時候則會由右到左的喔。 運算子用簡單的一點的方式說明...
鐵人賽:JavaScript 物件的連連看!? 兩個物件的值居然會一樣
承上集,小明現在在漂亮阿姨 (陳小美) 家裡,漂亮阿姨還有一個雙胞胎姐姐 - 陳美美,陳美美的各方面與雙胞胎妹妹都很接近,除了名字以外。因此,偷懶的小明決定將兩個人的名字畫線連再一起,然後改個名字就好了。 var auntie = { name: '陳小美',...
鐵人賽:JavaScript 就是一堆物件的概念
在 JavaScript 中,除了上一篇所介紹到的原始型別以外的都是物件,包含陣列、函式…甚至全域本身都是物件,物件本身可以一層包著一層,其內層可以是字串、數值、陣列、物件,甚至是函式。 故事說明 小明的記事本都是用物件的概念在做紀錄,他會將要做的事情、筆記分門別類的做巢狀紀錄,這樣的好處可以讓他在...