初识SmartJS - AOP三剑客


Posted in Javascript onJune 08, 2014

SmartJS的内容规划比较多,也无法在短时间全部完成,目前就以小版本一个个功能累加。

第一期0.1版发布的内容主要是实现前端面向切面编程(AOP)的一些支持。

    1. PromiseEvent

基于事件和promise的回调管理,类似于jquery的callbacks,但具有结果传递,优先级,事件参数,promise控制等功能

2. Trigger

触发器,在对象上应用触发器(aop)功能,目标对象会具有方法注入功能(基于promiseEvent),注入的类型有before,after和round环绕三种;

3. FlowController

流程/生命周期控制器,控制流程的执行和流转,基于Trigger

4. 常用方法;

//合并默认数据方法,将obj中空的内容从defObj中复制;与jquery的$.extend不通,只会加入不存在的数据

st.mergeObj(deep, obj, defObj, exclude)

//在目标对象方法中注入方法,返回结果

st.injectFn(target, name, fn, before,stopOnFalse)

//合并方法,返回结果

st.mergeFn(fn, mergeFn,stopOnFalse)

 另外声明一下,十分抱歉,以前承诺的smartUI2.0一直没有完成,想法一直在变,而且这两年发现自己能支配的时间也越来越少。不过smartjs后续规划中也会有ui方面的内容,也相当于将smartUI并于Smartjs中。

后期预告:smartjs 0.2版中,会加入oop支持的一些内容。

最后附上地址smart地址,里面有比较丰富的测试用例,api的话后续会更新博客逐一说明。

Javascript 相关文章推荐
Microsoft Ajax Minifier 压缩javascript的方法
Mar 05 Javascript
jquery 字符串切割函数substring的用法说明
Feb 11 Javascript
ClearTimeout消除闪动实例代码
Feb 29 Javascript
AngularJS中实现动画效果的方法
Jul 28 Javascript
AngularJS Toaster使用详解
Feb 24 Javascript
微信小程序顶部可滚动导航效果
Oct 31 Javascript
JS实现根据详细地址获取经纬度功能示例
Apr 16 Javascript
微信公众号开发之微信支付代码记录的实现
Oct 16 Javascript
Vue组件基础用法详解
Feb 05 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
May 14 Javascript
微信小程序自定义顶部组件customHeader的示例代码
Jun 03 Javascript
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
javascript实例分享---具有立体效果的图片特效
Jun 08 #Javascript
js 中将多个逗号替换为一个逗号的代码
Jun 07 #Javascript
js 去除字符串第一位逗号的方法
Jun 07 #Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
Jun 07 #Javascript
用js替换除数字与逗号以外的所有字符的代码
Jun 07 #Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 #Javascript
关于JavaScript命名空间的一些心得
Jun 07 #Javascript
You might like
xml在joomla表单中的应用详解分享
2012/07/19 PHP
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
javascript数组去掉重复
2011/05/12 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
Python实现远程调用MetaSploit的方法
2014/08/22 Python
Python脚本实现代码行数统计代码分享
2015/03/10 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
django写用户登录判定并跳转制定页面的实例
2019/08/21 Python
python Tensor和Array对比分析
2020/01/08 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
Keras设置以及获取权重的实现
2020/06/19 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
高中生学习总结的自我评价范文
2013/10/13 职场文书
高级人员简历的自我评价分享
2013/11/03 职场文书
计算机专业毕业生推荐信
2013/11/25 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
sql server 累计求和实现代码
2022/02/28 SQL Server
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技