JavaScript面向切面编程.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JavaScript面向切面编程

“ ” “ ” JavaScript面向切面编程 目 录   Aspect Oriented Programming(AOP),面向切面编程,是一个比较热门的话题。AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。   用刀切面包或用锯子锯木头,暴露在我们面前的横断面即为切面。面向切面编程有自身的很多优点,可以对已有的代码,进行无切入式的干扰。AOP的主要目的,是对业务过程中的切面进行提取。它所面对的,是处理过程中业务的某个步骤或阶段。即往已经存在的业务逻辑中穿插了一些代码。我们有干扰代码时,可以对业务逻辑进行干预,无干扰代码时,不会影响到原来任何的业务逻辑。 JavaScript的prototype JavaScript的prototype返回对象类型原型的引用,使我们有能力向对象添加属性和方法。 script type=text/javascript function employee(name,job,born) { this.name=name; this.job=job; this.born=born; } var bill=new employee(Bill Gates,Engineer,1985); employee.prototype.salary=null; bill.salary=20000; document.write(bill.salary); /script JavaScript的apply apply方法能劫持另外一个对象的方法,继承另外一个对象的属性 Function.apply(obj,args)方法接收两个参数 obj:这个对象将代替Function类里this对象 args:这个是数组,它将作为参数传给Function(args--arguments) apply示范代码如下: script type=text/javascript function Person(name,age){ //定义一个类,人类 this.name=name; //名字 this.age=age; //年龄 this.sayhello=function(){alert(hello)}; } function Print(){ //显示类的属性 this.funcName=Print; this.show=function(){ var msg=[]; for(var key in this){ if(typeof(this[key])!=function){ msg.push([key,:,this[key]].join()); } } alert(msg.join( )); }; } function Student(name,age,grade,school){ //学生类 Person.apply(this,arguments); Print.apply(this,arguments); this.grade=grade; //年级 this.school=school; //学校 } var p1=new Person(jake,10); p1.sayhello(); var s1=new Student(tom,13,6,清华小学); s1.show(); s1.sayhello(); alert(s1.funcName); /script 1、创建HTML文件 2、创建js文件aop.js 3、在HTML文件中引入aop.js 4、在aop.js中编写代码 function test() {   alert(2); } window.onload = function() { test(); } 实现的目的现在需要统计一下当前页面所有的函数运行谁耗时最长,然后做相应的性能优化 通常的做法: function test() {   var start = new Date();   alert(2);   var end= new Date();   //console.log(end - start); } 插入污染变量,埋点,输出或返回! AOP的做法: function test() { alert(2);} //原来的业务逻辑函数 Funct

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档