什么应该在$ jQuery之后使用一段时间?

Joh*_*ohn 22 javascript syntax jquery

我是JQuery的初学者.

什么时候应该使用$后点?

$.trim(str)不是$trim(str)吗?

有些情况没有意义:$(document).ready但不是$.(document).ready吗?

谢谢.

Dou*_*las 19

在jQuery中,$是一个变量名,比如fooor bar,它引用了全局jQuery对象.如果要访问jQuery对象上的属性,则使用点.这些基本相同:

$.property
jQuery.property
Run Code Online (Sandbox Code Playgroud)

(因为它$是一个像其他任何变量一样的变量,你可以将它设置为你喜欢的任何东西.如果你在包含jQuery库之后包含Prototype库,这可能会发生这种情况,这会让你$指向一个别名的document.getElementById功能.)

jQuery对象碰巧也是一个函数,所以你可以像调用任何其他函数一样调用该函数:

$(arguments)
alert("arguments!")
Run Code Online (Sandbox Code Playgroud)

另一方面,$trim它只是另一个全局变量,如$location,它可能是您自己定义的函数:

var $trim = function(arguments) {
    return "foo";
};

$trim(str)
Run Code Online (Sandbox Code Playgroud)


wsa*_*lle 18

我不相信你有一个选择,只有一种语法是正确的,并且实际上会有效.该$符号无非是为一个速记符号更多jQuery的功能,所以当你写:

$('some selector')
Run Code Online (Sandbox Code Playgroud)

您正在调用一个函数,调用jQuery并传入一个字符串,或者在您的情况下,您正在传入该document对象.

在调用方法时,例如修剪等辅助方法,您需要使用以下语法,jQuery.trim()或者$.trim().这很容易检查自己,试试看:

typeof($.trim) //returns "function"
typeof($trim) //returns "undefined"
Run Code Online (Sandbox Code Playgroud)

  • ...而[`typeof`](https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Special_Operators/typeof_Operator)运算符不需要括号,也不需要点.;-) (4认同)