jQuery 如何允许其构造函数充当接受参数的函数,同时其构造函数也充当接受参数的函数?
我对 JavaScript 有点陌生,所以如果这是一个菜鸟问题,请原谅,(我已经查看了源代码,但很难尝试剖析)。
无论如何,作为示例$(document).ready(<args>);
,构造函数$()
和原型都ready()
充当函数。如何?因为如果我尝试这个:
var $ = function( selector ) {
if(selector == document) {
return document;
}
};
$.prototype = {
constructor: $,
ready: function( args ) {
if( isDomReady ) {
args.apply( document );
} else {
window.onload = args;
}
}
};
var isDomReady = ( document.addEventListener || document.readyState == ("complete"|"loaded"|true|4) || document.onreadystatechange() ) ? true : false;
$(document).ready(function() { alert("Wibbles!") });
我收到一个错误Uncaught TypeError: Object[object global] has no method 'ready'