文档章节

js 装饰模式

小张525
 小张525
发布于 2016/12/01 09:24
字数 106
阅读 5
收藏 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>

 

© 著作权归作者所有

共有 人打赏支持
上一篇: php 向上转型
下一篇: js 单例
小张525
粉丝 6
博文 103
码字总数 33503
作品 0
乌鲁木齐
程序员
私信 提问
ES7 Decorator 装饰者模式

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

_朴灵_
05/14
0
0
web前端进阶之js设计模式篇——上

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

jia林
08/05
0
0
JavaScript装饰器 Decorator

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

ITgecko
05/22
0
0
你需要了解的23种JavaScript设计模式

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

java高级架构牛人
06/02
0
0
TypeScript基础入门之Javascript文件类型检查(一)

转载 TypeScript基础入门之Javascript文件类型检查(一) TypeScript 2.3及更高版本支持使用--checkJs在.js文件中进行类型检查和报告错误。 您可以通过添加//@ts-nocheck注释来跳过检查某些文件...

durban
10/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据集可视化---张量场的可视表示

中国龙-扬科
3分钟前
0
0
JavaScript创建对象方法实例小结

本文实例讲述了JavaScript创建对象方法。分享给大家供大家参考,具体如下: 最简单的方式就是创建一个Object对象,并为其添加属性和方法。 //示例代码var person=new Object()person.name=...

peakedness丶
4分钟前
0
0
GO 读写锁实现原理剖析

前言 TODO:简单说明读写锁用法及规则。 读写锁数据结构 类型定义 TODO: 源码中数据结构 TODO:讲解每个成员作用 写锁阻止写锁 TODO:描述两个尝试写是如何避免的 写锁阻止读锁 TODO:描述获...

恋恋美食
9分钟前
0
0
Java核心(二)深入理解线程池ThreadPool

本文你将获得以下信息: 线程池源码解读 线程池执行流程分析 带返回值的线程池实现 延迟线程池实现 为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高...

王磊的博客
10分钟前
1
0
web项目中的乱码问题原理分析

Java web开发过程经常遇到乱码,本篇我们探讨一下乱码产生的原因与解决思路。 一次完整的Web请求会有4次编解码转换,如下所示。 第一次:客户端(通常为浏览器)将字符转换成TCP字节流发向服...

fame_yao
14分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部