jQuery函数怎么能以'$'开头?



如果用javascript声明函数,则不能在名称中使用'$'字符,那么jquery是如何做到这一点的呢?例如:

function myFunction() {
    $("#h01").html("Hello jQuery")
}
$(document).ready(myFunction);

但是如果我这样声明一个函数:

function $(a){
// do something
}

javascript显示错误?

根据规范,https://es5.github.io/#x7.6

IdentifierStart ::
    UnicodeLetter
    $
    _
     UnicodeEscapeSequence

$可以作为名称中的字符。

演示,使用问题中的代码:http://jsfiddle.net/q02go7dd/

尝试

var $ = function(){
    // do something
};

而且你不会出错。

$是JQuery对象本身的一个简单别名。

所以当你打字时,

$("#h01").html("Hello jQuery");

您正在使用参数"h01"调用JQuery构造函数。

这就像声明一个名为dave的函数,并给它一个别名ß,然后这样调用它。

dave("h01");

$很好:

$myFunction = function(){ alert("hello"); }
$myFunction(); // alerts "hello"

Jquery是一个运行在javascript上的包装器。尽管Jquery使用javascript大语法,但它提供了易于使用的小语法。

在Jquery$符号中返回Jquery对象。

最新更新