kissy seed lang 中is开头的方法解析
首先介绍两个kissy的方法,待会会用到,但是大家知道用法就行,暂时不需要深度了解, 以后会介绍到。
mix
?
Object KISSY.mix (receiver , supplier [ , overwrite = true , whitelist , deep ])将 supplier 对象的成员复制到 receiver 对象上.Parameters:receiver (object) – 属性接受者对象.supplier (object) – 属性来源对象.overwrite (boolean) – 是否覆盖接受者同名属性.whitelist (Array<string>) – 属性来源对象的属性白名单, 仅在名单中的属性进行复制.Returns:receiver 属性接受者对象.Return type:object
?
?each
?
Object KISSY.each ( o, fn[, context] )遍历数组中的每一项, 执行指定方法.Parameters:o (Array|object) – 需要遍历的数组或对象fn (function) –执行时, 接收 3 个参数:当 o 为数组时, 参数为当前数组单项值, 当前 index, 数组 o当 o 为对象时, 参数为当前值 (value), 当前键 (key), 对象 ocontext (object) – fn 的上下文对象, 不指定为全局 window
?
isBoolean?isNumber?isString?isFunction?isArray?isDate?isRegExp?isObject 判断方法的解析
?
<!DOCTYPE HTML><html><head><meta charset="GBK" /><title>demo</title></head><body><script src="http://a.tbcdn.cn/s/kissy/1.2.0/kissy-min.js"></script><script>KISSY.ready(function(S){var OP = Object.prototype, toString = OP.toString,class2type = {};S.each('Boolean Number String Function Array Date RegExp Object'.split(' '),function(name, lc) {// populate the class2type mapclass2type['[object ' + name + ']'] = (lc = name.toLowerCase());// add isBoolean/isNumber/...S['is' + name] = function(o) {return S.type(o) == lc;}});S.mix(S, {type: function(o) {return nullOrUndefined(o) ?String(o) :class2type[toString.call(o)] || 'object';},isNull: function(o) {return o === null;},isUndefined: function(o) {return o === undefined;}});function nullOrUndefined(o) { return S.isNull(o) || S.isUndefined(o); }});</script></body></html>
?
上述方法代码就是从kissy源码中解析出来的is开头的判断方法的由来