文档章节

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. 适配器模式 装饰模式和适配器...

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

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

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

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

jia林
2018/08/05
0
0
Vue+TypeScript 从零开始

废话不多说,说废话会花话费...ts的好大家都知道,据说前端界2018年总结报告中特别提出,今年有越来越多的开发者开始使用ts。强类型语言必将统治地球。那么问题来了,我们怎么样在vue中开始使...

Angeladaddy
01/08
0
0
你需要了解的23种JavaScript设计模式

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

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

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 孤独到都和病毒发生了感情了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 逃跑计划《一万次悲伤 (Live)》 《一万次悲伤 (Live)》- 逃跑计划 手机党少年们想听歌,请使劲儿戳(这里) 现在...

小小编辑
51分钟前
18
5
test

//// main.c// Test//// Created by 吕颖 on 2019/1/16.// Copyright © 2019年 carmen. All rights reserved.//#include <stdio.h>#include <stdlib.h>#include <t......

carmen-ly
今天
3
0
Android webview热门组件agentweb:4.0.2无法自适应的问题

Android webview热门组件agentweb:4.0.2无法自适应的问题 //设置自适应屏幕,两者合用mAgentWeb.getAgentWebSettings().getWebSettings().setUseWideViewPort(true); //将图片调整到适合w...

Gemini-Lin
今天
5
0
如何维护一个自己的 golang doc 服务

本文内容是如何维护一个golang 在线的doc 服务。 1 什么是godoc ? godoc 是 golang 官方提供的文档生成工具, 2 为什么要有godoc ? 我们经常遇到一个问题,就是代码和文档不一致,线上代码版...

鼎铭
今天
5
0
js中的对象创建的模式以及继承模式

对象创建模式: 工厂模式 构造函数模式 原型模式 继承模式 原型式继承 寄生式继承 构造函数 原型式和构造函数的组合式(缺点:运行两次超类类函数,积累函数的属性被挂载在原型对象上和实例对...

莫西摩西
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部