Day12 物件與點 15 12月 2017 ithome 鐵人賽:JavaScript 基礎二三事 ithome JavaScript Day12 物件與點 今天開始進入第四章節,物件與函式的部分囉。 第二天的筆記有提到,物件是一群名稱/值的組合 例如: { rice: '米飯', soup: '海鮮濃湯' } 而其值可以是另一個名稱/值的組合,也可以是數值、字串、布林、物件、函式....等等。 例如: { rice: '
Day11 設定函式內的預設值 14 12月 2017 ithome 鐵人賽:JavaScript 基礎二三事 JavaScript ithome Day11 設定函式內的預設值 今天筆記是昨天內容的衍生 開發者用JS程式呼叫函式時,傳參數進去處理是很常見的方式,如果呼叫時沒有帶入參數,會發生什麼事呢? 來看看以下程式碼: function greet(name){ console.log('Hello ' + name); } greet() 結果是: 發生了什麼事? 我們沒有帶值進去,JS在呼叫函式時也沒報錯,因為傳入的值在呼叫階段被設定進記憶體,但我們什麼都沒有傳,所以JS把這個空的東西,在記憶體被設定成undefined並傳入。 當undefined與字串相加時被轉型成字串&
Day10 存在與布林 13 12月 2017 ithome 鐵人賽:JavaScript 基礎二三事 JavaScript ithome Day10 存在與布林 今天來看存在existence與布林boolean的關係 由於JS常發生型別轉換這件事,開發者可以用Boolean()這個內件函式,來判斷型別轉為boolean的結果。 undefined、null、""這些代表沒有的值,都會被被型轉成false。 開發者可以利用此特性,用if()敘述來判斷是否成功取值。 例如: var a; if(a){ console.log('這裡有東西'); } 結果什麼也沒發生,
Day09 強制型轉與比較運算子 12 12月 2017 ithome 鐵人賽:JavaScript 基礎二三事 ithome JavaScript Day09 強制型轉與比較運算子 今天我們來看看強制型轉與比較運算子 JavaScript是動態型別Dynamic Typing語言,故非常容易發生強制型轉這件事。 強制型轉Coercion,JavaScript自動轉換值的型別。 例如說: var a = 1 + 2; console.log(a) 結果是3,合理! 那這樣呢? var a = 1 + '2'; console.log(
Day08 運算子的優先性 11 12月 2017 ithome 鐵人賽:JavaScript 基礎二三事 JavaScript ithome Day08 運算子的優先性 今天繼續來看運算子,昨天提到:運算子可以想成是一個函式,這個函式會將前後兩個參數,傳入對應的JS內建函式中,進行運算並回傳。 那是什麼決定運算子的執行順序呢? 這就看運算子的兩個特性,優先性與相依性來決定。 優先性 表示哪一個運算子被優先運算,當同一行程式有不只一個運算子時,具高優先性的運算子會先計算,然後依序算到排序等級低的運算子。 原來運算子也有分社會階級 相依性 表示運算子被計算的順序,若是左到右計算的運算子就稱為左相依性,右到左則稱為右相依性。 若運算子的優先性都相同,那就是依據相依性來判斷順序,決定是左到右還是右到左運算。 來看看以下程式碼: var a