gpt4 book ai didi

没有括号的 Javascript 调用类(jQuery 风格)

转载 作者:行者123 更新时间:2023-11-30 08:12:57 25 4
gpt4 key购买 nike

我只是为了学习目的而尝试设置像 jQuery 这样的库。我让它工作得很好,我可以根据需要进行方法链接。我遇到的问题是能够调用带有类括号的方法:

我必须做的:

$foo().get('id1');

我想做什么:

$foo.get('id1');

这是当前的 javascript:

(function( window ) {
var document = window.document;
var fooTools = (function() {
var fooTools = function( selector ) {
return new fooTools.base.init( selector );
};

fooTools.base = fooTools.prototype = {
init: function( selector ) {
if( !selector ) {
return this;
}
if( selector ) {
this[0] = selector;
this.length = 1;
return this;
}
},

get: function( id ) {
return document.getElementById( id );
},

//..other methods

};
fooTools.base.init.prototype = fooTools.base;
return fooTools;
}());
window.fooTools = window.$foo = fooTools;
}( window ));

目前它工作得很好,但如果我不包括括号,我会得到一个错误,指出 .get() 方法不存在。我仍然想保持对其他方法使用括号的能力,所以我只希望它是可选的。谢谢!

最佳答案

改变:

window.fooTools = window.$foo = fooTools;

到:

window.$foo = new fooTools();
window.fooTools = fooTools;

Live Example


编辑

window.fooTools = fooTools;
window.$foo= fooTools;
window.$foo.get = fooTools.prototype.get;

Updated Example

关于没有括号的 Javascript 调用类(jQuery 风格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7851629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com