Skip to content
廖健 edited this page Jun 18, 2013 · 4 revisions

JPE Core API

JPE是一个全局对象,用于类型检测,类定义,类继承和动态脚本加载。

引入JPE

var JPE = require("JPE/JPE");

类型检测及其它

  • isUndefined(item) - 判断是否是undefined
JPE.isUndefined(item);
  • isBoolean(item) - 判断是否是布尔值
JPE.isBoolean(item);
  • isNumber(item) - 判断是否是数字
JPE.isNumber(item);
  • isString(item) - 判断是否是字符串
JPE.isString(item);
  • isArray(item) - 判断是否是数组
JPE.isArray(item);
  • isFunction(item) - 判断是否是函数
JPE.isFunction(item);
  • guid(prefix) - 生成GUID
var id = JPE.guid(),
    id2 = JPE.guid('custom-prefix');
  • mix(r, s, overwrite, witelist, mode, merge) - 合并属性
var s1 = {a: 'a', b: 'b', c:'c'}
var s2 = {a: 1, b: 2};
JPE.mix(s2, s1);
//s2现在是{a: 'a', b: 'b', c:'c'}

s1 = {a: 'a', b: 'b', c:'c'}
s2 = {a: 1, b: 2};
JPE.mix(s2, s1, false);
//s2现在是{a: 1, b: 2, c:'c'}

类定义

/**
 * @constructor {Function} 构造函数,可以为null,如果为null,则自动创建一个继承superclass的空函数
 * @superclass {Function} 父类,可以为null
 * @props {Object} 实例属性和方法
 * @statics {Object} 类属性和方法
 */
JPE.newClass(constructor, superclass, props, statics);
JPE.newClass(function(value){
    this.prop = value;
}, Superclass, {
    //实例属性
    prop: null,
    //实例方法
    instanceMethod: function(){
    }
}, {
    //静态属性
    staticProperty: staticValue,
    //静态方法
    staticMethod: function(){
    }
});

JPE.Array

数组工具API

  • each(array, item) - 遍历一个数组
var array = ['a', 'b', 'c'];
JPE.Array.each(array, function(item, index, arr){
    console.log(item);
});
  • indexOf(array, item) - 查找一个元素
var array = ['a', 'b', 'c'];
var aIndex = JPE.Array.indexOf(array, 'a');
  • remove(array, item) - 移除一个元素
var array = ['a', 'b', 'c'];
JPE.Array.remove(array, 'a');
Clone this wiki locally