为什么 jquery 函数可以以“$”开头?

how is that the jquery function can start with '$'?

如果你在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

$ 作为名称中的一个字符就可以了。

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

尝试

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

你不会收到错误。

$ 是 JQuery 对象本身的简写别名。

所以当你输入时,

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

您正在调用带有参数 "h01" 的 JQuery 构造函数。

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

dave("h01");

Jquery 是一个覆盖 javascript 的包装器。尽管使用 javascript 大语法,Jquery 提供易于使用的小语法。

在Jquery$符号returnJquery对象中。

$ 可以:

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

$myFunction(); // alerts "hello"