如何用javascript实现像JQ那种$().bind()的写法?

下面的代码倒是可以id(a,b).ad(....)这样子用,但是不能单独使用id(d,f)来返回对象了.varid=function(d,f){varc="id";ret... 下面的代码倒是可以id(a,b).ad(....)这样子用,但是不能单独使用id(d,f)来返回对象了.
var id = function(d,f) {
var c="id";
return {ad:function(a,b,c){
ad(d,f,c,a, b, c);
}};
}
请高手帮忙给段实现代码,要简单明了,别是一大段又一大段的让人分不清东南西北就好,谢谢.
展开
 我来答
匿名用户
2014-05-26
展开全部
var $ = function (a){
return new $$(a);
}

var $$ = function(s){
this.ele = s;
this.ori = s;
}
$$.prototype = {
jia: function(a){
this.ele += a;
return this;
},
jian: function(b){
this.ele -= b;
return this;
},
cheng: function(c){
this.ele = this.ele * c;
return this;
},
chu: function(d){
this.ele = this.ele / d;
return this;
},
result: function(){
alert(this.ele);
return this;
}
}

$(6).jia(7).jian(10).cheng(5).chu(3).result();


//大体思路就是这样,通过包装对象+原型实现链式调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友aa9879b
2014-05-26 · TA获得超过229个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:162万
展开全部
想要实现链式调用,只需要在函数最后返回this即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hjiuokpl1314
2014-05-26 · 超过16用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:35.6万
展开全部
这个是我之前自己写的博客:不知道你是不是想要这样子的效果:

http://www.cnblogs.com/lztkiss/archive/2013/02/06/2906740.html
追问
看了你的代码给我收获很大,谢谢.问题也解决了一大半,还有一小半请指教一下.就是
Dojo.dom("#a").bind("click",fn),可以用,但$dom("#a")不能直接返回#a对象?这个如何是好呢?
追答
返回这个对象的话比较简单,我后续完善下
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卷心菜92
2014-05-26 · TA获得超过840个赞
知道小有建树答主
回答量:860
采纳率:0%
帮助的人:472万
展开全部
var $=function(e){return document.querySelector(e)};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式