Javascript jQuery看起来如何既是对象又是对象调用的方法?

Javascript jQuery看起来如何既是对象又是对象调用的方法?,javascript,jquery,Javascript,Jquery,对于不支持API对象的浏览器调用的API对象,有一个变通方法函数() 如果unsafeWindow是一个对象(或者在本例中是一个设计用于模拟该对象的函数),它如何像$=unsafeWindow.jQuery那样使用?我知道这就是将函数映射到$的方式,而不是将$映射为简单的jQuery别名,但我只是不明白为什么,因为我认为jQuery本身是一个对象,在这里被调用就像一个方法一样 编辑:谢谢你们的回答,我希望我能“勾选”你们所有人,谢谢你们的帮助 当您执行$=unsafeWindow.jQuery时

对于不支持API对象的浏览器调用的API对象,有一个变通方法函数()

如果
unsafeWindow
是一个对象(或者在本例中是一个设计用于模拟该对象的函数),它如何像
$=unsafeWindow.jQuery
那样使用?我知道这就是将函数映射到
$
的方式,而不是将
$
映射为简单的jQuery别名,但我只是不明白为什么,因为我认为
jQuery
本身是一个对象,在这里被调用就像一个方法一样


编辑:谢谢你们的回答,我希望我能“勾选”你们所有人,谢谢你们的帮助

当您执行
$=unsafeWindow.jQuery
时,正如您正确指出的那样,您正在将jQuery对象分配给$。您没有调用任何函数。在javascript中调用函数需要在末尾添加一个括号。

Jquery是一个附带方法的构造函数。当用作
$.each()
时,您只需调用附加到函数(对象)的方法
each()
。当您使用
$()
时,它调用一个内部
新jQuery()
并返回它,让您可以访问它的原型方法。

在javascript中,函数就是对象

不要让
蒙住你的眼睛
object.something
正在获取属性
something
,该属性可以是任何东西(函数、变量、对象、值…),而
object.something()
正在应用方法
某物

你是对的,我在看
,这就是我主要想到调用方法的原因。正如另一篇评论中提到的,我想我看到了
并直接想到了像在其他语言中一样“调用”。但是对于您关于正确分配给
$
的评论,它不仅仅是jQuery对象,是吗?这里发生了什么,一个对象(函数unsafeWindow)正在获取一个名为jQuery的属性,那么到底分配了什么呢?我想在要点中他刚刚提到了一种访问页面jQuery对象的方法。我想您可以像您提到的那样将其分配给
$
,也可以按原样使用
unsafeWindow.jQuery。(“#myDiv”).hide()对,但我想知道函数对象
unsafeWindow
正在访问
jQuery
的什么属性(比如
对象。something
获取名为
something
的属性),现在我明白了函数也是对象了。。。如果这不合理,那么好吧,但感谢您迄今为止提供的所有信息/帮助!它正在访问的属性是整个jQuery对象及其所有功能。
var unsafeWindow = (function() {
    var e1 = document.createElement('p')
    e1.setAttribute('onclick', 'return window;');
    return e1.onclick();
})();

// If the current document uses a JavaScript library, you can use it in
// your user script like this:
console.log(unsafeWindow.jQuery);