初识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 相关文章推荐
关于javascript 回调函数中变量作用域的讨论
Sep 11 Javascript
jquery二级导航内容均分的原理及实现
Aug 13 Javascript
JS获取单击按钮单元格所在行的信息
Jun 17 Javascript
JavaScript实现输入框与清空按钮联动效果
Sep 09 Javascript
jQuery读取XML文件的方法示例
Feb 03 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
May 11 Javascript
解决vue-cli中stylus无法使用的问题方法
Jun 19 Javascript
Node.js进阶之核心模块https入门
May 23 Javascript
JavaScript实现雪花飘落效果
Dec 27 Javascript
js闭包的9个使用场景
Dec 29 Javascript
如何使用JavaScript策略模式校验表单
Apr 29 Javascript
JavaScript最完整的深浅拷贝实现方式详解
Feb 28 Javascript
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
在PHP中养成7个面向对象的好习惯
2010/01/28 PHP
php 魔术函数使用说明
2010/02/21 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
《听鱼说话》教学反思
2014/02/15 职场文书
初中班主任评语大全
2014/04/24 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
地道战观后感
2015/06/04 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
2021/07/16 HTML / CSS
SQL CASE 表达式的具体使用
2022/03/21 SQL Server