JavaScript

Day07 型別與運算子

今天開始,課程影片進入第三章節囉! JavaScript是動態型別Dynamic Typing語言,相較於C#、JAVA之類的靜態型別語言,JS的變數不用在編輯時特意宣告型別(例如布林值、字串、數值..等等),在執行時它就會自動判別。 而說起型別,JS有6種純值Primitive Types,(又稱原始型別、基本型別),「純值」是什麼意思呢? 純值是指一種資料的型別(型態),換句話說,純值(基本型別)不是物件,

Day06 JS 是同步還是非同步?

今天來看看JS,非同步背後的原理,在課程影片中提到: JavaScript是一個單執行緒、同步的程式,它逐行執行程式碼,並不會非同步的執行程式。 等等,同步? JS的特色之一不就是非同步嗎? 繼續看下去:   撇開node.js先不說,JS在瀏覽器執行時依賴引擎來驅動,而瀏覽器不是只有JavaScript引擎的存在,還有其他引擎在處理瀏覽器的其他狀態、程式。有可以呈現東西到瀏覽器畫面上的渲染引擎(Rendering Engine),也有其他專門處理http請求的東西存在。   JS引擎可以和瀏覽器的其他引擎、處理器互動,這個互動行為是非同步的,但JS引擎自己在運作JavaScript是同步的。

Day05 變數與函式環境、外部參照

執行JavaScript時,接收到翻譯的電腦會先創造一個全域執行環境。當程式呼叫函式,就會在全域環境中創造該函式的(區域)執行環境。而每個執行環境不論全域或區域,都有屬於自己的變數作用域存在。 來看看以下程式碼: function b() { var myVar; console.log(myVar); } function a() { var myVar = 2; console.log(myVar); b(

Day04 undefined 與 not defined

昨天的筆記出現undefined與not defined,今天我們來看看兩者的差異。 undefined和not defined「字面上」來看都是未定義、無定義、沒有定義..之類的。 但對JavaScript(以下簡稱JS)而言,兩者的意涵完全不相同。在JS的世界裡,當我們宣告變數時,JS會給變數預設的值,就是undefined。 var a = 100; // 或你要用ES6語法也可以 // let a = 100;

Episode

00:00:00 00:00:00