nodejs 怎麼處理 Windows 及 Linux 的路徑
最近在逐步把開發環境移到本機上,原本在 Linux 運行好好的程式,到 Windows 上都出錯了
最近在逐步把開發環境移到本機上,原本在 Linux 運行好好的程式,到 Windows 上都出錯了
當 function 執行完之後,會進行記憶體釋放,也就是說 function 內的變數就再也找不到了。
但如果希望留住 function 內的資料狀態,可以透過閉包的手法。
就跟我們的對話一樣,透過「單詞」拼湊出來「一句話」,這樣我們就可以知道對方想要表達的事情是什麼。
而 JavaScript 則是分析你寫的程式碼是「表達式」還是「陳述式」,來知道你想要做的事情是什麼。
Scope 是變數的有效範圍。
function 裡面
是 local,指的是在 local 這個範圍裡面有效。
function 外面
是 global,指的是在 global 這個範圍裡面有效。
認識 bind, call, apply 這三個方法之前,先說說 function
與 this
。
在 JavaScript 裡,幾乎所有的東西都是 object,function 也不例外。
作用域是指變數的有效範圍。
常聽到的全域變數(global variable)通常是指:全域變數是不在任何function(){}
內的變數,換句話說,全域變數是在任何地方都可以用的變數。
跟全域變數相反,function(){}
內的變數稱為區域變數(local variable)。
在其他程式語言裡面,程式碼是逐步執行的,所以「把要做的事情放在宣告之前」,就會出錯。
但在 JavaScript 並不會出錯,因為執行程式碼之前,會先把宣告的函式或變數放到記憶體中,直到程式執行的時候,函式或變數就已經存在了。(感覺像是宣告的東西被提升到要做的事情之前,但實際不是)
要做的事情放在宣告之前,仍然可以繼續執行的現象叫做提升(Hoisting)。
先講結論:||
、 &&
可以幫助程式碼變得更短。
||
、 &&
來改寫if||
來設定變數的預設值&&
來檢查物件屬性是否存在針對陣列中的每個元素,執行callback,當全部
元素都符合條件,就回傳true
,否則回傳false