您的位置:首頁技術文章
文章詳情頁

javascript - 看一些高手寫代碼單獨用 “$”和“_” 來表示變量,什么時候單獨使用這兩個字符?

瀏覽:133日期:2023-03-12 11:08:44

問題描述

看一些高手寫代碼單獨用 “$”和“_” 來表示變量,什么時候單獨使用這兩個字符?還有沒有其他的一些小白不容易理解的習慣呢?

問題解答

回答1:

這個雖然沒有強制性規定,但是一般對于很多框架而言,_開頭的字符串用于定義內部私有屬性和方法,$開頭的字符串給外部暴露屬性或方法,類如vue是這樣的。

另外對于一些框架為了書寫方便且一般不會沖突,會使用_和$作為命名空間或者屬性方法:_:underscorejs、lodash、__proto__(原型內部屬性)等。$:jQuery、zepto、$$(選擇器)、正則$1-$9等。

javascript - 看一些高手寫代碼單獨用 “$”和“_” 來表示變量,什么時候單獨使用這兩個字符?

回答2:

一般_為前綴的約定為私有變量, 非強制的; 而$一般為jQuery的別名, 在jQuery插件和基于jQuery的插件中經常被使用

回答3:

_ 表示沒什么特別的意義。 比如在數組 map forEach 這樣的函數里

var goAhead = arr => arr.map( // map 的第一個參數是函數 (_, idx, its) => {return its[idx + 1] || its[0]; });

javascript - 看一些高手寫代碼單獨用 “$”和“_” 來表示變量,什么時候單獨使用這兩個字符?

這里表示函數體用不上第一個參數 或者說第一個參數不重要 但是如果要用到 its 就不能省略中間的 _

或者有些更懶的。。。

setTimeout(_ => { console.log(’。。。括號都懶掉了’); }, 200);

還有,一些JS函數式編程庫就用 _ 來組織各種函數式工具 比如 _.forEach _.map

這里的 _ 沒什么特別的意思,關鍵在于 . 后面的內容。

Haskell 經常用 _ 來指代一些不重要的函數參數 (但是為了模式匹配又不得不寫的)

至于 $ 一般指 jQuery 或 Zepto 這種 DOM 庫,約定俗成,大家一看便知這是 jQuery ,寫起來也爽

很多人也提到了以下劃線開頭的變量,我來扯一句。

node 的 __dirname 表示執行的js所在目錄,可為什么要加下劃線地這樣命名?因為 dirname 是個很常見的變量名 如果不加前綴,那么很可能會跟某些人寫的代碼沖突,而加上前綴 __ 那么他就是另外一個命名空間下的變量了 ( {x是變量名 | x 滿足 '__*' } )

這樣就不會干涉到普通的 dirname 這個可能的變量名了。

回答4:

因為方便,且不容易沖突。當然,自從 jQuery 出現以后,也有一些類庫使用 $ 作為變量名。$ 和 _ 都少用不易沖突,而且符合變量命名的規范,簡短,所以被用了作為一些類庫的變量命名。_ 開頭接其他字母,例如 _this 表示是改方法私有,外界不能訪問。

回答5:

$是jquery_是underscore

另外_開頭有個約定,表示不使用的變量

回答6:

因為短!

var asdfasdfawdfsakdfaskjfvar $

還是$敲著省事兒

如果你要寫類庫,那么在使用時,外部入口就越簡單越好!

就好像大伙用jquery時,用$的比用jQuery的多!

回答7:

先說說_,當你必須要用一個變量獲取一個值,而這個變量又不會被后文引用到的時候(因為_做變量沒有任何意義)

比如,

fn = () => [1, 2]// fn是一個函數,返回兩個數// 假如我只對第二個數感興趣,則可以用變量_來存放第一個數[_, a] = fn()// 現在_ = 1, a = 2

至于$則是在jquery里面用得比較多,用來代替jQuery,讓你敲得方便一點

回答8:

沒有特別的的要求 個人習慣而已 你想怎么寫就怎么寫

回答9:

我也談談我的看法:-和_在css中,很經常見的是用text-info這樣,使用破折號連接兩個英文的,但是在一些場景,例如vue,有時候使用-會給你報錯,所以聽一些大神的意見,現在我使用_

標簽: JavaScript
国产综合久久一区二区三区