簡體   English   中英

JavaScript中的$ 1和var有什么區別?

[英]What is the difference between $one and var one in JavaScript?

JavaScript中的$ 1var有什么區別? 因為兩者都有效。

例:

$one = 'hello word!';

var one = 'hello word!';

工作示例: http//jsfiddle.net/rS9PR/

關於$沒什么特別的; 只是另一個變量名。 使用“var”告訴解釋器變量具有局部范圍。 沒有var => global。 即; 從頁面內的任何位置訪問。

var one保證變量設置為local scope。

默認情況下, $one會將變量分配給全局范圍。

它們都是變量名。 在JavaScript中,$字符是變量名稱的有效字符。 var關鍵字只是在示例中設置變量名稱的范圍。

由於它在jQuery等不同的JavaScript庫中的使用,$已經變得流行,但是它是一個非常有效的變量名字符。

沒有區別,變量名稱可能包含$符號。 您剛剛聲明了兩個不同的變量 - $oneone

upd:根據@yi_H comment-這兩個變量實際上有不同的范圍。 var關鍵字用於在當前范圍內聲明變量,但是如果省略var ,則在全局命名空間中定義它

$ 1在全局范圍內定義,並且在每個函數中都可見。 var one在其封閉范圍內定義,在外部不可見。

有些人使用“$”作為前綴來表示jQuery對象,如:

$text = $("#myTextElement");

兩個名稱都是有效的標識符,沒有區別。 對於var關鍵字的使用,請參閱var關鍵字的用途是什么以及何時使用它(或省略它)?

1 $中的$one並不意味着什么特別的。 它只是另一個普通的JavaScript變量。 在一些開發人員中有一個約定,其中帶有$的前綴變量表示該變量包含jQuery對象。 這純粹是為了風格和可讀性,並沒有技術或語法上的影響。

當您從聲明中省略var ,瀏覽器會將變量附加到全局對象:

foo = 'bar';
alert(window.foo); // 'bar'

這對於任何擁有超過一小部分JavaScript(在過去幾年中一直在快速增長的類別)的網站具有一些非常重要的意義。 最佳做法是始終使用var聲明變量,以防止以后出現許多問題。

請參閱: JavaScript中的變量范圍是什么? 有關變量范圍的更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM