通过使用IBM公司开发的Proces Designer软件从事流程开发工作已经有1年时间了,处理流程搭建的小问题倒是游刃有余,但是就PD中的控件开发,还是有点力不从心,主要是对dojo没有进行系统化的学习。我步入编程行业有两年的历史了,在这两年的时间了,没日没夜的加班倒是挺多的,好久没有自己学习充电了,现在趁工作之余,将dojo学习一遍,当然更欢迎有从事IBM公司开发的BPM方面工作的朋友可以加个好友交流一下,毕竟IBM公司的论坛都讲的是英语,作为一名英语四级还没过的学渣,还是有点难受的。
在BPM的Coach视图中,可以引入Dojo的依赖,还是比较方便的。
dojo/_base/array
every(arr,callback,thisObject) :这个方法可以用来做验证,判断数组中每一项是否满足条件。
var result1 = array.every([1, 2, 3, 4], function(item){
return item > 1;
});
var result2 = array.every([1, 2, 3, 4], function(item){
return item > 0;
});
console.info(result1 );
console.info(result2 );
通过上面的代码,可以测试出,返回结果一个是false,一个是true。也就是说数组自动遍历,return 后面的条件都满足,返回结果是true,不满足返回结果是false。
filter(arr,callback,thisObject):根据条件过滤,得到一个新数组。
// returns [2, 3, 4]
var arr = array.filter([1, 2, 3, 4], function(item){ return item>1; });
console.info(arr);
forEach(arr,callback,thisObject):遍历循环数组中每一项,且不能使用break对其进行中断,callback为回调函数。
// 用一个全局变量中的一个属性作为回调函数
var obj = {
prefix: "建字第",
callback: function(item){
console.log(this.prefix, item);
}
};
// 遍历循环数组,调用对象,时限数组内字符串拼接,输出结果如下
// 建字第 370102201800008
// 建字第 370102201800009
// 建字第 370102201800010
// 建字第 370102201800011
array.forEach(
[ "370102201800008", "370102201800009", "370102201800010", "370102201800011" ],
obj.callback,
obj
);
// 同样,可以使用lang.hitch()完成同样的操作,结果和上面相同,但要引入dojo/_base/lang的依赖
array.forEach(
[ "370102201800008", "370102201800009", "370102201800010", "370102201800011" ],
lang.hitch(obj, "callback")
);