解讀js中的$符號


說實話,早先我以為$在js中是有特殊含義的符號,便在網上到處去搜它的意義和用法,可始終無果。

 

我在本地也嘗試着用$符號組合一些變量,甚至單獨用它當做一個變量都可以使用,故我就猜測js並沒有賦予$符號含義,同"_"等符號是一樣的可以當做變量或變量的一部分使用。

不過,正是這個沒有用的符號卻創造出了各種靈活多用的變化。

 

寫過php或做過linux開發的朋友們都很熟悉$符號,沒錯,這就是它們的變量標識符,所以很多人喜歡也把它作為js的變量前綴。

 

First~咱先在控制台驗證一下$符:

我先初始化創建一個對象,而對象中模擬3種情況的變量:

函數中的局部變量:$a1_2

成員變量:$a1_3

成員變量:$$a1_4

 

驗證一:發現$是變量的連接符

驗證二:發現$還是變量的連接符,且並不可以用作地址引用

驗證三:發現$也不是全局變量的聲明符,所以$只是變量的連接符

 

既然$只是變量的連接符,那不就毫無用處嗎?~~~~NO···NO···NO····┑( ̄Д  ̄)┍

下面列舉幾個例子來詳解下$的作用。

 

Second~作為全局函數的應用:

見過JQuery的玩家應該會見過$(document).這樣的語句,我覺得很高大上,就好像是js的特殊語法一樣,起初我也是這樣認為的。

不過,如果把這個語句改成myFunc(document).xxxx是不是瞬間就看出了它的本質,所以$()這就是一個普通的函數,只不過在JQuery中把它定義了出來,而可以直接用。

然而對於不同js腳本,$()的功能也不同,你也可以在自己的框架中重寫$()方法,或許我們也可以把它改成下面這樣:

直接獲取ID,雖然沒什么用,但用法是可以借鑒的。

 

Third~定義js腳本的關鍵字變量:

如果你在開發js腳本,而框架中必然要定義一些變量,而你又不希望用你腳本的人在定義變量的時候與你的變量重名,導致腳本中的變量被覆蓋,這時,就可以使用$符號來進行標記一下哪些是你的腳本中的變量。

當然,同樣的方案也可以用“_”來標記,但“_”太常用了,因為它在任何語言中都無任何含義,很多人必然會使用“_”來定義變量,而“$”在其它的語言中就無法像“_”一樣來使用,比如說PHP,所以在js中$作為變量標記符是最好的選擇。

在AngularJS中的控制器就是這么做的:

 

 

是不是很有趣~<( ̄︶ ̄)↗[GO!]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM