纯js代码模拟jquery链接操作,用js实现链接写法,如下:
复制代码 代码示例:
window.k = function() {
return new k.fn.init(arguments);
}
k.fn = k.prototype = {
init:function() {
this.length = 0;
//var args = Array.prototype.slice.call(arguments,0);
Array.prototype.push.apply(this,arguments[0]);
return this;
},
show:function() {
console.log(Array.prototype.slice.call(this,0).join("$"));
return this;
},
hide:function() {
console.log(this);
return this;
}
}
k.fn.init.prototype = k.fn;
console.log(k("0",1,2,3,4,5).show().hide());
这只是进行了链式操作。
但是在firbug下可以看到jQuery对象返回的是数组/类数组。
总不能让k.fn.prototype = new Array()吧。
有时间了,研究下jquery的源代码,哦哦。