什么是typeof(jQuery)

时间:2011-08-03 05:56:58

标签: jquery

我刚试过这段代码

console.log(typeof(jQuery))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>

它会提醒function,这意味着typeof jQuery是function

我的问题是,jQuery的确切类型是什么?如果它的功能如何,它如何具有jQuery.browserjQuery.ajax等属性?

3 个答案:

答案 0 :(得分:7)

当应用于jQuery对象时,typeof运算符将返回字符串"function"。基本上这意味着jQuery是一个函数。

但打字的那种停在那里。与静态类型语言不同,在计算函数类型时不考虑参数的数量,顺序,模式和类型。在JavaScript中,它只是一个“功能”。

在JavaScript中创建函数时,您创建的函数对象将被赋予两个属性lengthprototype,并且其原型设置为Function.prototype,因此它具有继承的属性,如applycall

正如其他人已经回答的那样,随意添加自己的属性。函数只是一个对象。

但要注意“类型”。技术上,JavaScript中只有 SIX 类型:Null,Undefined,Boolean,Number,String和Object。所以对你的问题的真正答案是,jQuery的确切类型是......实际上......鼓号.... 对象

答案 1 :(得分:5)

函数是一个对象,可以在Javascript中拥有属性。

请参阅https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function以查看默认情况下函数具有的某些属性(并且可以添加其他属性)。

答案 2 :(得分:3)

试着亲自去做,你会理解:

function f() {
}

f.prop = '123';

alert(f.prop);

jQueryfunction,当然,它也是对象,包含自己的函数,如call(),也可以包含属性。