Sehen Sie sich einige Experten an, die Code schreiben, der „$“ und „_“ allein zur Darstellung von Variablen verwendet. Wann sollten diese beiden Zeichen alleine verwendet werden?
Gibt es noch andere Gewohnheiten, die für Anfänger schwer zu verstehen sind?
这个虽然没有强制性规定,但是一般对于很多框架而言,
_
开头的字符串用于定义内部私有属性和方法,$
开头的字符串给外部暴露属性或方法,类如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,有时候使用-会给你报错,所以听一些大神的意见,现在我使用_