国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - 看一些高手寫代碼單獨(dú)用 “$”和“_” 來(lái)表示變量,什么時(shí)候單獨(dú)使用這兩個(gè)字符?

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

問(wèn)題描述

看一些高手寫代碼單獨(dú)用 “$”和“_” 來(lái)表示變量,什么時(shí)候單獨(dú)使用這兩個(gè)字符?還有沒(méi)有其他的一些小白不容易理解的習(xí)慣呢?

問(wèn)題解答

回答1:

這個(gè)雖然沒(méi)有強(qiáng)制性規(guī)定,但是一般對(duì)于很多框架而言,_開(kāi)頭的字符串用于定義內(nèi)部私有屬性和方法,$開(kāi)頭的字符串給外部暴露屬性或方法,類如vue是這樣的。

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

javascript - 看一些高手寫代碼單獨(dú)用 “$”和“_” 來(lái)表示變量,什么時(shí)候單獨(dú)使用這兩個(gè)字符?

回答2:

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

回答3:

_ 表示沒(méi)什么特別的意義。 比如在數(shù)組 map forEach 這樣的函數(shù)里

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

javascript - 看一些高手寫代碼單獨(dú)用 “$”和“_” 來(lái)表示變量,什么時(shí)候單獨(dú)使用這兩個(gè)字符?

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

或者有些更懶的。。。

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

還有,一些JS函數(shù)式編程庫(kù)就用 _ 來(lái)組織各種函數(shù)式工具 比如 _.forEach _.map

這里的 _ 沒(méi)什么特別的意思,關(guān)鍵在于 . 后面的內(nèi)容。

Haskell 經(jīng)常用 _ 來(lái)指代一些不重要的函數(shù)參數(shù) (但是為了模式匹配又不得不寫的)

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

很多人也提到了以下劃線開(kāi)頭的變量,我來(lái)扯一句。

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

這樣就不會(huì)干涉到普通的 dirname 這個(gè)可能的變量名了。

回答4:

因?yàn)榉奖悖也蝗菀讻_突。當(dāng)然,自從 jQuery 出現(xiàn)以后,也有一些類庫(kù)使用 $ 作為變量名。$ 和 _ 都少用不易沖突,而且符合變量命名的規(guī)范,簡(jiǎn)短,所以被用了作為一些類庫(kù)的變量命名。_ 開(kāi)頭接其他字母,例如 _this 表示是改方法私有,外界不能訪問(wèn)。

回答5:

$是jquery_是underscore

另外_開(kāi)頭有個(gè)約定,表示不使用的變量

回答6:

因?yàn)槎蹋?/p>

var asdfasdfawdfsakdfaskjfvar $

還是$敲著省事兒

如果你要寫類庫(kù),那么在使用時(shí),外部入口就越簡(jiǎn)單越好!

就好像大伙用jquery時(shí),用$的比用jQuery的多!

回答7:

先說(shuō)說(shuō)_,當(dāng)你必須要用一個(gè)變量獲取一個(gè)值,而這個(gè)變量又不會(huì)被后文引用到的時(shí)候(因?yàn)開(kāi)做變量沒(méi)有任何意義)

比如,

fn = () => [1, 2]// fn是一個(gè)函數(shù),返回兩個(gè)數(shù)// 假如我只對(duì)第二個(gè)數(shù)感興趣,則可以用變量_來(lái)存放第一個(gè)數(shù)[_, a] = fn()// 現(xiàn)在_ = 1, a = 2

至于$則是在jquery里面用得比較多,用來(lái)代替jQuery,讓你敲得方便一點(diǎn)

回答8:

沒(méi)有特別的的要求 個(gè)人習(xí)慣而已 你想怎么寫就怎么寫

回答9:

我也談?wù)勎业目捶?-和_在css中,很經(jīng)常見(jiàn)的是用text-info這樣,使用破折號(hào)連接兩個(gè)英文的,但是在一些場(chǎng)景,例如vue,有時(shí)候使用-會(huì)給你報(bào)錯(cuò),所以聽(tīng)一些大神的意見(jiàn),現(xiàn)在我使用_

標(biāo)簽: JavaScript
主站蜘蛛池模板: 锡林浩特市| 扶沟县| 南溪县| 饶平县| 永和县| 安福县| 黄浦区| 安岳县| 海伦市| 郴州市| 长岭县| 那坡县| 白河县| 宽城| 原平市| 盐亭县| 乌兰察布市| 杨浦区| 阳城县| 房产| 应用必备| 揭阳市| 阿拉尔市| 和静县| 江油市| 元阳县| 镇江市| 肇东市| 荥经县| 肥东县| 长武县| 泽州县| 梁山县| 平昌县| 高尔夫| 安康市| 祁东县| 隆回县| 伊金霍洛旗| 新余市| 垦利县|