最近開始看 JavaScript 設計模式 這本書,裡面有一段說到,JS 只有函式變數跟全域變數,沒有我們平常認知的區域變數,JS 真的跟其他語言不太一樣。
以下面這面這個例子,在 Java 的話,name 應該是區域變數,後面的 function 呼叫 name 應該會有 error,但在 javascript 而言,它卻是全域變數。
1 | if(true){ |
output
1 | alincode |
最近開始看 JavaScript 設計模式 這本書,裡面有一段說到,JS 只有函式變數跟全域變數,沒有我們平常認知的區域變數,JS 真的跟其他語言不太一樣。
以下面這面這個例子,在 Java 的話,name 應該是區域變數,後面的 function 呼叫 name 應該會有 error,但在 javascript 而言,它卻是全域變數。
1 | if(true){ |
output
1 | alincode |