博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript设计模式-链式编程(3)
阅读量:4290 次
发布时间:2019-05-27

本文共 1585 字,大约阅读时间需要 5 分钟。

模拟简单的jquery中的链式调用

简单链式调用

function Dog(){
this.run = function(){
alert('dog is run...'); return this ; }; this.eat = function(){
alert('dog is eat...'); return this ; }; this.sleep = function(){
alert('dog is sleep...'); return this ; }}var d1 = new Dog();d1.run().eat().sleep();//d1.eat();//d1.sleep();

模拟jquery底层链式调用

第一步,模拟出全局的准备方法和$绑定:

(function(window, undefined) {
//window上先注册一个全局变量,与外界产生关系 window.$ = _$; //写一个准备方法,类似jquery调用的准备函数 _$.onReady = function(fn) {
//直接执行传入的函数 fn(); };})(window);$.onReady(function(){
alert("invoked!");});

第二步,实现简单的链式调用:

(function(window, undefined) {
//$为返回给外界常用的对象,一般用'_'作为私有的对象,这里看做对象的构造函数 function _$(arguments) {
alert("constructor"); } //在_$的原型对象上加一些公共的方法 _$.prototype = { constructor: _$, addEvent: function() {
alert("addEvent"); return this; }, setStyle: function() {
alert("setStyle"); return this; } }; //window上先注册一个全局变量,与外界产生关系 window.$ = _$; //写一个准备方法,类似jquery调用的准备函数 _$.onReady = function(fn) {
//1.实例化出来_$对象,真正的注册到window上 window.$ = function() {
return new _$(arguments); }; //2.执行传入进来的代码 fn(); }; })(window); //传入的入口window传入作用域中 $.onReady(function() {
// alert($("#inp")); //constructor [object Object] $("#inp").addEvent().setStyle();//constructor addEvent setStyle });

第三补,实现简单完整的jquery链式调用:

转载地址:http://uergi.baihongyu.com/

你可能感兴趣的文章
jenkins + maven+ gitlab 自动化部署
查看>>
Pull Request流程
查看>>
Lambda 表达式
查看>>
函数式数据处理(一)--流
查看>>
java 流使用
查看>>
java 用流收集数据
查看>>
java并行流
查看>>
CompletableFuture 组合式异步编程
查看>>
mysql查询某一个字段是否包含中文字符
查看>>
Java中equals和==的区别
查看>>
JVM内存管理及GC机制
查看>>
Java:按值传递还是按引用传递详细解说
查看>>
全面理解Java内存模型
查看>>
Java中Synchronized的用法
查看>>
阻塞队列
查看>>
linux的基础知识
查看>>
接口技术原理
查看>>
五大串口的基本原理
查看>>
PCB设计技巧与注意事项
查看>>
linux进程之间通讯常用信号
查看>>