JavaScript实现链式调用
2014-12-23 09:46
267 查看
学习Jquery的时候,我们通常会看到链式调用的写法
下面用JavaScript来实现一个链式调用,核心思想是借助原型构造函数,在每个方法中return this。
下面用JavaScript来实现一个链式调用,核心思想是给Number对象原型添加属性和方法。
$(window).addEvent('load', function(){ $('test').show().setStyle('color', 'red').addEvent('click', function(e){ $(this).setStyle('color', 'yellow'); }); });
下面用JavaScript来实现一个链式调用,核心思想是借助原型构造函数,在每个方法中return this。
(function(){ function _$(els){ this.element = []; for(var i = 0, len = els.length; i < len; i++){ var element = els[i]; if(typeof element === 'string'){ element = document.getElementById(element); } this.element.push(element); } return this; } _$.prototype = { each: function(fn){ for(var i = 0, len = this.element.length; i < len; i++){ fn.call(this, this.element[i]); } return this; }, setStyle: function(prop, val){ this.each(function(el){ el.style[prop] = val; }); return this; }, show: function(){ var that = this; this.each(function(el){ that.setStyle('display', 'none'); }); return this; }, addEvent: function(type, fn){ var add = function(el){ if(window.addEventListener){ el.addEventListener(type, fn, false); }else if(window.attachEvent){ el.attachEvent('on' + type, fn); } }; this.each(function(el){ add(el); }); } }; window.$ = function(){ return new _$(arguments); } })();
下面用JavaScript来实现一个链式调用,核心思想是给Number对象原型添加属性和方法。
(10).add(10).reduce(2).add(10) //28 Number.prototype.add = function(num){ return this+num; } Number.prototype.reduce = function(num){ return this-num; }
相关文章推荐
- Javascript 链式调用实现代码(参考jquery)
- javascript链式调用实现方式总结
- JavaScript中两种链式调用实现代码
- javascript实现简单的链式调用
- JavaScript 异步调用框架 (Part 5 - 链式实现)
- 简谈 JavaScript、Java 中链式方法调用大致实现原理
- javascript链式调用的实现方式
- javascript实现简单的链式调用
- 实现JavaScript自定义函数的整合、链式调用及类的封装
- Javascript 链式调用实现代码(参考jquery)
- 纯JavaScript实现简易版的jQuery选择器,支持链式调用
- 写个 JavaScript 异步调用框架 (Part 5 - 链式实现)
- 关于ASP.NET调用JavaScript的实现
- 用Javascript调用ASP实现过程
- 在C#中调用VBScript、JavaScript等脚本的实现
- javascript调用webservice实现base64加密
- 利用ScriptManager实现Javascript调用WebService中的方法
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用