考慮以下兩個功能:在javascript中聲明函數時,我必須使用`var`嗎?
cat = function() {
console.log("Meow");
}
和:
var dog = function() {
console.log("woof")
}
cat()
- > 「喵」
dog()
- >「汪
他們都工作,除了貓沒有聲明使用var
。這是否意味着它是全球範圍的?我會說t這兩個函數都是全局範圍的。也有語法function cat(){...}
,我想這是類似的第一種風格,某種隱式變量綁定...
有人可以解釋風格之間的區別聲明功能,如果有的話。
不使用var/let/const使它*隱式爲全局*,這通常被認爲是一件壞事。如果你使用'嚴格使用',你會得到一個錯誤。總是最好明確地聲明,即使是全球性的。 – Nick
[var關鍵字的用途是什麼以及何時使用它(或忽略它)?](https://stackoverflow.com/questions/1470488/what-is-the-purpose-of-the- var-keyword-and-when-use-it-or-omit-it) – Gerardo
我看了一下Gerado的鏈接,看看snapjs寫了什麼,我覺得這幾乎清除了它。謝謝! – Ryan