KISSY1.2.0学习笔记-2
version {String} 属性
作用:属性,返回KISSY的版本号
参数:无
举例:
Code:
KISSY.version;//1.1.6
buildTime {String} 属性
作用:属性,返回KISSY的打包时间
参数:无
举例:
KISSY.buildTime;// 20110825162101
merge {Object} function(a1,a2,a3……)
作用:将所传的对象一次合并,并返回一个新的对象
说明:这个函数是调用mix方法来多次合并对象,不会覆盖前面对象的属性,主要用于简单的对象合并
参数:{Object} a1 对象
举例:
var a1 = {a:1,b:2},a2 = {a:2,c:3};
KISSY.merge(a1,a2);//{a:1,b:2,c:3}
KISSY.merge(a2,a1);//{a:2,b:2,c:3}
augment {Object} function(/*r, s1, s2, …, ov, wl*/)
作用:将s1,s2……的原型(prototype,如果没有就复制成员)复制到r上面
说明:这个函数也是由mix方法派生出来的,但是和merge相比会复制原型链,主要用于方法类的复制。
参数:
{Function} r 目标对象
{Function|Object} s1(s2……) 源对象
{Boolean} ov 是否是覆盖模式(override),如果r存在A属性,那么是否要用s的A属性覆盖之,默认为false
{Array} wl 白名单(write List),如果非空就只拷贝wl数组里面的属性
举例:
function animal(){
this.name= ‘animal’;
this.eat = function(){};
this.say=function(){alert(‘miaomiao’);}
}
KISSY.augment(animal,{color:’white’});
new animal();//此时已经有color属性了
extend {Object} function(r, s, px, sx)
作用:将s1,s2……的原型(prototype,如果没有就复制成员)复制到r上面
说明:这个函数也是由mix方法派生出来的,但是和merge相比会复制原型链,主要用于方法类的复制。
参数:
{Function} r 目标对象
{Function } s 需要继承的对象
{Object} px 需要添加(或者覆盖)到原型链(prototype)的参数列表
{Object} sx 需要直接添加(或者覆盖)的方法列表
举例:
function Animal(){}
Animal.prototype.name= ‘animal’;
Animal.prototype.eat = function(){};
Animal.prototype.say=function(){alert(‘miaomiao’);}
function Cat(){}
Cat.name=‘mimi’;
KISSY.extend(Cat,Animal);
new Cat();//此时已经有color属性了
主要是三个重要的方法:merge、augment、extend这是面向对象编程的重要方法,这三个方法在不同的场合使用,有些时候可以通用。细节还是要多多体会。