基本对象/函数链如何在javascript中工作?
我正试图让jQuery风格的函数链接在我的脑海中。我的意思是:
var e = f1('test').f2().f3();我有一个例子可以工作,而另一个没有。我会发布以下内容。我总是想学习第一个原理的基本原理,以便我可以在它之上构建。到目前为止,我对链接的工作方式只有一个粗略而宽松的理解,而且我遇到了一些我无法智能排除故障的错误。
我知道的:
函数必须返回自己,即“返回此”;
可链接函数必须驻留在父函数中,也就是在jQuery中.css()是jQuery()的子方法,因此jQuery()。css();
父函数应该返回自身或自身的新实例。
这个例子有效:
var one = function(num){
this.oldnum = num;
this.add = function(){
this.oldnum++;
return this;
}
if(this instanceof one){
return this.one;
}else{
return new one(num);
}}var test = one(1).add().add();但是这个没有:
var gmap = function(){
this.add = function(){
alert('add');
return this;
}
if(this instanceof gmap) {
return this.gmap;
} else{
return new gmap();
}}var test = gmap.add();料青山看我应如是
繁星点点滴滴
婷婷同学_
相关分类