从零开始学_JavaScript_系列(26)——dojo的aspect方法
2016-07-28 18:08
483 查看
(86)apsect
模块:dojo/aspect
参数:apsect
【方法一】:aspect.after(对象,
”方法名”,
回调函数)
说明:
将在指定对象的方法执行结束后,执行回调函数;
例如,在点击
<div id="aa" style="width:100px;height:100px;background-color:green"></div>
这样一个dom后,会触发test对象的test方法;
test方法的效果是弹窗,显示2;
而apsect会监听test对象的test方法,当他触发test方法后,在test方法执行完毕之后执行aspect中第三个参数的函数。
如示例:
【方法二】:aspect.before(对象,
”方法名”,
回调函数)
与after相反,他将先执行aspect的回调函数,执行完毕之后再执行原方法。
例如在上面的例子中,更换为before,会导致先alert(undefined),再alert(“1”)
之所以会输出undefined
原因在于,这种情况下是不能获取test对象的test方法的返回值的。
模块:dojo/aspect
参数:apsect
【方法一】:aspect.after(对象,
”方法名”,
回调函数)
说明:
将在指定对象的方法执行结束后,执行回调函数;
例如,在点击
<div id="aa" style="width:100px;height:100px;background-color:green"></div>
这样一个dom后,会触发test对象的test方法;
test方法的效果是弹窗,显示2;
而apsect会监听test对象的test方法,当他触发test方法后,在test方法执行完毕之后执行aspect中第三个参数的函数。
如示例:
require(["dojo/aspect", "dojo/on", "dojo/dom", "dojo/domReady!"], function (aspect, on, dom) { on(dom.byId("aa"), "click", function () { test.test(); }) var test = { test: function () { alert("2"); return "1"; } } aspect.after(test, "test", function (arg) { alert(arg) }) })
【方法二】:aspect.before(对象,
”方法名”,
回调函数)
与after相反,他将先执行aspect的回调函数,执行完毕之后再执行原方法。
例如在上面的例子中,更换为before,会导致先alert(undefined),再alert(“1”)
之所以会输出undefined
原因在于,这种情况下是不能获取test对象的test方法的返回值的。
相关文章推荐
- jsp 根路径
- 这10道javascript笔试题你都会么
- javascript中的原型探索
- js扩展插件实现原理及代码
- 汤姆大叔的6道javascript编程题题解
- 你应该知道的25道Javascript面试题
- JSP页面显示当前时间的后3天
- 导入项目,jsp报错解决办法
- js 定时器
- 【知识积累】详解JSP
- web上传下载之--FormData对象上传(单个和多个(待测试))
- respond.js 在IE8不起作用
- LeetCode Javascript实现 344. Reverse String 292. Nim Game 371. Sum of Two Integers
- JavaScript学习二
- Javascript 基本 4000 一
- JavaScript中的数值范围介绍
- 一个仿微博登陆邮箱提示框js开发案例
- JavaScript Base64编码解码代码
- 利用JS实现数字增长
- js树形控件—zTree使用总结