84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
看一些高手寫程式碼單獨用 “$”和“_” 來表示變量,什麼時候單獨使用這兩個字元? 還有沒有其他的小白不容易理解的習慣呢?
ringa_lee
這個雖然沒有強制性規定,但是一般對於很多框架而言,_開頭的字符串用於定義內部私有屬性和方法,$開頭的字符串給外部暴露屬性或方法,類如vue是這樣的。
_
$
另外對於一些框架為了書寫方便且一般不會衝突,會使用_和$作為命名空間或屬性方法:_:underscorejs、lodash、__proto__(原型內部屬性)等。 $:jQuery、zepto、$$(選擇器)、正規$1-$9等。
一般_為前綴的約定為私有變數, 非強制的; 而$一般為jQuery的別名, 在jQuery插件和基於jQuery的插件中經常被使用
_ 表示沒什麼特別的意義。 例如在陣列 map forEach 這樣的函數裡
map
forEach
var goAhead = arr => arr.map( // map 的第一个参数是函数 (_, idx, its) => { return its[idx + 1] || its[0]; } );
這裡表示函數體用不上第一個參數 或說第一個參數不重要 但是如果要用到 its 就不能省略中間的 _
或有些更懶的。 。 。
setTimeout(_ => { console.log('。。。括号都懒掉了'); }, 200);
還有,有些JS函數式程式庫就用 _ 來組織各種函數式工具 例如 _.forEach _.map
_.forEach
_.map
這裡的 _ 沒什麼特別的意思,關鍵在於 . 後面的內容。
.
Haskell 常用 _ 來指一些不重要的函數參數 (但是為了模式匹配又不得不寫的)
Haskell
至於 $ 一般指 jQuery 或 Zepto 這種 DOM 庫,約定俗成,大家一看便知這是 jQuery ,寫起來也爽
很多人也提到了以下劃線開頭的變量,我來扯一句。
node 的 __dirname 表示執行的js所在目錄,可為什麼要加下劃線地這樣命名? 因為dirname 是個很常見的變數名稱如果不加前綴,那麼很可能會跟某些人寫的程式碼衝突,而加上前綴__ 那麼他就是另外一個命名空間下的變數了( {x是變數名| x 滿足"__*" } )
node
__dirname
__
{x是變數名| x 滿足"__*" }
這樣就不會干涉到普通的 dirname 這個可能的變數名了。
因為方便,且不容易衝突。 當然,自從 jQuery 出現以後,也有一些類別庫使用 $ 作為變數名稱。 $ 和 _ 都少用不易衝突,而且符合變數命名的規範,簡短,所以被用了作為一些類別庫的變數命名。 _ 開頭接其他字母,例如 _this 表示是改方法私有,外界不能存取。
jQuery
_this
$是jquery_是underscore
另外_開頭有個約定,表示不使用的變數
因為短!
var asdfasdfawdfsakdfaskjf var $
還是$敲著省事兒
如果你要寫類別庫,那麼在使用時,外部入口就越簡單越好!
好像大夥用jquery時,用$的比用jQuery的多!
先說說_,當你必須要用一個變數取得一個值,而這個變數又不會被後文引用到的時候(因為_做變數沒有任何意義)
比如,
fn = () => [1, 2] // fn是一个函数,返回两个数 // 假如我只对第二个数感兴趣,则可以用变量_来存放第一个数 [_, a] = fn() // 现在_ = 1, a = 2
至於$則是在jquery裡面用得比較多,用來代替jQuery,讓你敲得方便一點
jquery
沒有特別的要求 個人習慣而已 你想怎麼寫就怎麼寫
我也談談我的看法:-和_在css中,很常見的是用text-info這樣,使用破折號連接兩個英文的,但是在一些場景,例如vue,有時使用-會給你報錯,所以聽一些大神的意見,現在我用_
這個雖然沒有強制性規定,但是一般對於很多框架而言,
_
開頭的字符串用於定義內部私有屬性和方法,$
開頭的字符串給外部暴露屬性或方法,類如vue是這樣的。另外對於一些框架為了書寫方便且一般不會衝突,會使用
_
和$
作為命名空間或屬性方法:_
:underscorejs、lodash、__proto__(原型內部屬性)等。$
:jQuery、zepto、$$(選擇器)、正規$1-$9等。一般
_
為前綴的約定為私有變數, 非強制的;而
$
一般為jQuery的別名, 在jQuery插件和基於jQuery的插件中經常被使用_
表示沒什麼特別的意義。 例如在陣列map
forEach
這樣的函數裡這裡表示函數體用不上第一個參數 或說第一個參數不重要 但是如果要用到 its 就不能省略中間的
_
或有些更懶的。 。 。
還有,有些JS函數式程式庫就用
_
來組織各種函數式工具 例如_.forEach
_.map
這裡的
_
沒什麼特別的意思,關鍵在於.
後面的內容。Haskell
常用_
來指一些不重要的函數參數 (但是為了模式匹配又不得不寫的)至於
$
一般指 jQuery 或 Zepto 這種 DOM 庫,約定俗成,大家一看便知這是 jQuery ,寫起來也爽很多人也提到了以下劃線開頭的變量,我來扯一句。
node
的__dirname
表示執行的js所在目錄,可為什麼要加下劃線地這樣命名?因為dirname 是個很常見的變數名稱如果不加前綴,那麼很可能會跟某些人寫的程式碼衝突,而加上前綴
__
那麼他就是另外一個命名空間下的變數了({x是變數名| x 滿足"__*" }
)這樣就不會干涉到普通的 dirname 這個可能的變數名了。
因為方便,且不容易衝突。
當然,自從
jQuery
出現以後,也有一些類別庫使用$
作為變數名稱。$
和_
都少用不易衝突,而且符合變數命名的規範,簡短,所以被用了作為一些類別庫的變數命名。_
開頭接其他字母,例如_this
表示是改方法私有,外界不能存取。$是jquery
_是underscore
另外_開頭有個約定,表示不使用的變數
因為短!
還是$敲著省事兒
如果你要寫類別庫,那麼在使用時,外部入口就越簡單越好!
好像大夥用jquery時,用
$
的比用jQuery
的多!先說說
_
,當你必須要用一個變數取得一個值,而這個變數又不會被後文引用到的時候(因為
_
做變數沒有任何意義)比如,
至於
$
則是在jquery
裡面用得比較多,用來代替jQuery
,讓你敲得方便一點沒有特別的要求
個人習慣而已
你想怎麼寫就怎麼寫
我也談談我的看法:-和_
在css中,很常見的是用text-info這樣,使用破折號連接兩個英文的,但是在一些場景,例如vue,有時使用-會給你報錯,所以聽一些大神的意見,現在我用_