文档章节

js 装饰模式

小张525
 小张525
发布于 2016/12/01 09:24
字数 106
阅读 4
收藏 0
<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>
</head>
<body>
	<input type="button"  id="button" value='putton'>
</body>
</html>
<script>
	
	var count=0;

	Function.prototype.before =function(fn){
		var _self = this;
		return function(){
			fn.apply(this,arguments);
			return _self.apply(this,arguments);
		}
	}

	Function.prototype.after=function(fn){
		var _self = this;
		return function(){
			var ret  = _self.apply(this,arguments);
			fn.apply(this,arguments);	
			return ret;
		}
	}

	var beforeClick = function(){
		if(!count){
			console.log('this is first click');
		}else{
			console.log('this is '+ count +' click');
		}
        count++;
	}


	var  clickFun = function(){
		console.log('this is  orgran function ');
	}

	var log = function(){
		console.log(' this is  upload logs');
	}

	document.getElementById('button').onclick =  clickFun.before(beforeClick).after(log);

</script>

 

© 著作权归作者所有

共有 人打赏支持
小张525
粉丝 6
博文 101
码字总数 32841
作品 0
乌鲁木齐
程序员
ES7 Decorator 装饰者模式

原作者:玄农 装饰模式 设计模式大家都有了解,网上有很多系列教程,比如 JS设计模式等等。 这里只分享 装饰者模式 以及在 如何使用 ES7 的 概念 装饰模式 v.s. 适配器模式 装饰模式和适配器...

_朴灵_
05/14
0
0
JavaScript装饰器 Decorator

前言 许多面向对象都有decorator(装饰器)函数,比如python中也可以用decorator函数来强化代码,decorator相当于一个高阶函数,接收一个函数,返回一个被装饰后的函数。 下面的示例代码,就是...

ITgecko
05/22
0
0
web前端进阶之js设计模式篇——上

设计模式,从设计到模式 设计:设计原则(统一指导思想) 模式:通过概念总结出的一些模板,可以效仿的固定式的东西(根据指导思想结合开发经验,总结出固定的样式或模板) 按类型分 创建型(...

jia林
08/05
0
0
code-rhythm:写了个vscode扩展,让代码更有快感

项目地址 Github - onvno/code-rhythm 原因 写代码本身是件快乐的事情,但开发中总有各种烦恼。 有时候一个很简单的方法,因为不确定传参的形式,不确定返回形式,不确定具体用法,就得翻墙,...

onvno_
06/07
0
0
你需要了解的23种JavaScript设计模式

为什么要学习设计模式? 在许多访谈中,你可能会遇到很多面向对象编程中的接口,抽象类,代理和以及其他与设计模式相关的问题。 一旦了解了设计模式,它会让你轻松应对任何访谈,并可以在你的...

java高级架构牛人
06/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

React 服务器渲染原理解析与实践

网盘下载地址 React 服务器渲染原理解析与实践 本套课程,讲解了React中SSR技术的整个搭建思路及流程,完整的从原理上讲清楚了SSR的概念,重点在于讲解编写SSR框架遇到的各种知识点,以及细节...

qq__2304636824
9分钟前
0
0
Jenkins使用

clean install -Dmaven.test.skip=true

1713716445
19分钟前
0
0
多线程

1. 多线程概念。并发和并行的概念。 多线程指的是一段时间内cpu同时执行多个线程。一个程序至少运行>=1个进程,进程就是运行中的程序,而一个进程至少运行>=1个线程,线程是操作系统能调度的...

鱼想吃肉
今天
0
0
HBase 表修复在线方式和离线方式

一、在线修复 1.1 使用检查命令 $ ./bin/hbase hbck 该命令可完整修复 HBase 元数据信息;存在有错误信息会进行输出; 也可以通过如下命令查看详细信息: $ ./bin/hbase hbck -details 1.2 ...

Ryan-瑞恩
今天
3
0
redis 系列二 -- 常用命令

1.基础命令 info ping quit save dbsize select flushdb flushall 2.键命令 2.1 set 直接赋值 set a a 2.2 get 取值 get a 2.3 exists 是否存在 exists a 2.4 expire 设置剩余时间 秒 expire......

imbiao
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部