我的问题很奇怪,它与我在jQuery中看到的东西有关,但到目前为止我一直无法重新创建它.
在jQuery中你可以这样做
jQuery('div').append
要么
jQuery.ajax
我正在制作的应用程序需要类似的语法,我注意到你使用新的喜欢
var that=new function(){
}
你可以用这个来调用函数,没有(),但在某些情况下我会需要它.
原因是我需要选择一个dom元素,就像jQuery一样.
that('[data-something="this"]').setEvent('click',functin(){})
有些人自动这样做:
that.loadIt('this','[data-something="that"]')
这样做的原因是dom元素在外部加载并被推送,然后脚本在继续之前等待它准备就绪.这样做对我来说无论如何似乎是最干净的方式来获得这个功能(我编写一个完整的javascript框架,所以我避免库来保持脚本快速)
最佳答案
功能是对象.
原文链接:https://www.f2er.com/jquery/428632.htmlvar that = function() {
// do some work
}
that.loadit = function() {
// do other work
}
既然你正在尝试实现像jQuery那样的东西,那么就把它调用一个构造函数.
;(function(global) {
// function to be publicly exposed
var that = function(foo,bar) {
return new MyLibrary(foo,bar);
}
// publicly expose the function
global.that = that;
// use the function as a namespace for utilities
that.loadit = function() {
// do other work
}
// The actual constructor function,like the internal jQuery constructor
MyLibrary(foo,bar) {
// constructor function
}
// Prototypal inheritance of objects created from the constructor
MyLibrary.prototype.setEvent = function() {
// do some work
return this; // allows for method chaining
};
MyLibrary.prototype.otherMethod = function() {
// do something else
return this; // allows for method chaining
};
})(this);