JavaScript

Day11 設定函式內的預設值

今天筆記是昨天內容的衍生 開發者用JS程式呼叫函式時,傳參數進去處理是很常見的方式,如果呼叫時沒有帶入參數,會發生什麼事呢? 來看看以下程式碼: function greet(name){ console.log('Hello ' + name); } greet() 結果是: 發生了什麼事? 我們沒有帶值進去,JS在呼叫函式時也沒報錯,因為傳入的值在呼叫階段被設定進記憶體,但我們什麼都沒有傳,所以JS把這個空的東西,在記憶體被設定成undefined並傳入。 當undefined與字串相加時被轉型成字串&

Day10 存在與布林

今天來看存在existence與布林boolean的關係 由於JS常發生型別轉換這件事,開發者可以用Boolean()這個內件函式,來判斷型別轉為boolean的結果。 undefined、null、""這些代表沒有的值,都會被被型轉成false。 開發者可以利用此特性,用if()敘述來判斷是否成功取值。 例如: var a; if(a){ console.log('這裡有東西'); } 結果什麼也沒發生,

Day08 運算子的優先性

今天繼續來看運算子,昨天提到:運算子可以想成是一個函式,這個函式會將前後兩個參數,傳入對應的JS內建函式中,進行運算並回傳。 那是什麼決定運算子的執行順序呢? 這就看運算子的兩個特性,優先性與相依性來決定。 優先性 表示哪一個運算子被優先運算,當同一行程式有不只一個運算子時,具高優先性的運算子會先計算,然後依序算到排序等級低的運算子。 原來運算子也有分社會階級 相依性 表示運算子被計算的順序,若是左到右計算的運算子就稱為左相依性,右到左則稱為右相依性。 若運算子的優先性都相同,那就是依據相依性來判斷順序,決定是左到右還是右到左運算。 來看看以下程式碼: var a

Episode

00:00:00 00:00:00