Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “这是怎么回事?”;jQuery";var是一个函数还是一个对象?_Javascript_Jquery - Fatal编程技术网

Javascript “这是怎么回事?”;jQuery";var是一个函数还是一个对象?

Javascript “这是怎么回事?”;jQuery";var是一个函数还是一个对象?,javascript,jquery,Javascript,Jquery,例如,当您使用jQuery('someDiv'),它是一个函数,但您也可以使用jQuery.ajax(…) 怎么可能呢?在JavaScript中,函数本身就是对象 var x = function () {}; x.foo = "bar"; console.log(x.foo); // bar 编辑: 此外: var x = function () { return 'foo'; }; x.bar = function () { return 'baz'; }; 所以现在:

例如,当您使用
jQuery('someDiv'),它是一个函数,但您也可以使用
jQuery.ajax(…)


怎么可能呢?

在JavaScript中,函数本身就是对象

var x = function () {};
x.foo = "bar";

console.log(x.foo); // bar
编辑:

此外:

var x = function () {
    return 'foo';
};
x.bar = function () {
    return 'baz';
};
所以现在:

console.log(x()); // foo
console.log(x.bar()); // baz

我相信.ajax示例正在利用jQuery插件体系结构。我认为jQuery的AJAX功能只是您可以使用的众多插件之一

使用see的“$”也只是调用jQuery的别名

最后一个观察jQuery定义为(来自jQuery-1.4.2.js):

Ajax看起来像:

jQuery.extend({
...some other goodness...
ajax: function( origSettings ) 
...more goodness...
});

另请看这个问题,上帝之母,我不知道在JavaScript中,很多国家都是一流的公民。这是JavaScript之美的一个很好的例子。它也有它的缺点(!),但当然也有美丽的一面。
jQuery.extend({
...some other goodness...
ajax: function( origSettings ) 
...more goodness...
});