/**
* @author paula
*/
function A(name){
this.name = name;
this.sayHi();
this.$sayHi();
this.sayBye();
};
(function(){
this.sayHi = function(){
console.log("[sayHi] Hi there, "+ this.name);
};
this.$sayHi = function(){
console.log("[$sayHi] Hi there, " + this.name);
};
this.sayBye = function(){
console.log("[sayBye] Bye bye now, " + this.name);
};
}).call(A.prototype);
var objA1 = new A("Luca");
发现这篇文章:javascript.crockford.com/code.html其中提到"不要在名称中使用$(美元符号)或\(反斜杠)。大多数变量和函数应以小写字母"
开头我有一些框架代码,其中包含许多以美元符号为前缀的函数(看起来类似于$ sayHi的函数)。是否以$为前缀的函数用于特殊目的?感谢。
答案 0 :(得分:0)
你永远必须为带有美元符号的任何东西添加前缀,它只是jQuery等一些库中的热门选择,因为$
通常不被用作普通变量名称。美元符号是有效的变量名称,因此可用于命名任何变量。
this.$sayHi=function(){/*code*/};
和
this.sayHi=function(){/*code*/};
只是两个不同的变量名,分配了不同的东西。您可以根据需要为变量命名,但在其前面加上一个美元符号并不会使它变得特别。
另外值得注意的是,在jQuery和类似的库/框架中,美元符号后面总会有一个点。基本上,框架只想占用一个全局变量,并且它们使它成为美元符号,没有人真正应该将其用作变量名称,因为它实际上是无用的。
答案 1 :(得分:0)
按照这样的ECMA 5.1 Standard specification, a variable's identifier is defined
Identifier ::
IdentifierName but not ReservedWord
并IdentifierName
定义如下
IdentifierName ::
IdentifierStart
IdentifierName IdentifierPart
IdentifierStart
已定义,如此
IdentifierStart ::
UnicodeLetter
$
_
\ UnicodeEscapeSequence
因此,$
只不过是变量名称中的一个字符。
答案 2 :(得分:0)
就javascript而言,美元符号就像任何其他字母一样。例如:
var $ = 5;
console.log($);
函数名称也可以有美元符号:
function $() {
console.log("Hello world!");
}
$();
JQuery(和其他库)创建一个函数美元符号来做惊人的事情。它是这些函数的一个好名称,因为您不太可能在代码中创建名为$
的方法。