我刚试过这段代码
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.browser
和jQuery.ajax
等属性?
答案 0 :(得分:7)
当应用于jQuery
对象时,typeof运算符将返回字符串"function"
。基本上这意味着jQuery
是一个函数。
但打字的那种停在那里。与静态类型语言不同,在计算函数类型时不考虑参数的数量,顺序,模式和类型。在JavaScript中,它只是一个“功能”。
在JavaScript中创建函数时,您创建的函数对象将被赋予两个属性length
和prototype
,并且其原型设置为Function.prototype
,因此它具有继承的属性,如apply
和call
。
正如其他人已经回答的那样,随意添加自己的属性。函数只是一个对象。
但要注意“类型”。技术上,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);
jQuery
是function,当然,它也是对象,包含自己的函数,如call()
,也可以包含属性。