很长一段时间以来,我一直在想jQuery如何既是一个函数又是一个对象属性。
您可以像函数jQuery(...)一样使用它。您可以像使用属性jQuery.ajax一样使用它(...)
如何在Javascript中实现这样的功能呢?
发布于 2011-08-16 12:38:46
函数是javascript中的对象。所以你可以让你的main函数
var $ = function() { alert('wat'); }
然后扩展它
$.fadeTo = function() { alert('fadeto'); }
发布于 2011-08-16 12:36:56
因为在JavaScript中,函数是可以具有属性的对象:
function test() { ... }
test.a = function () { ... };
test.a(); // totally valid
发布于 2012-07-25 12:10:41
我认为,从代码概念的角度来看,jQuery到底是什么的概念是相当混乱的。我偶然发现了这个链接,它以一种非常简单的方式解释了jQuery架构:http://blog.mikecouturier.com/2010/02/beginning-with-jquery-solid-foundation_22.html
因此,简而言之,$是名为'jQuery‘的JavaScript函数的别名,而使用点符号(如$.trim ())调用的方法是'JavaScript 'jQuery’函数上的静态方法。请注意,函数继承自JavaScript中的object,因此函数是JavaScript中的对象。
https://stackoverflow.com/questions/7073647
复制相似问题