您的位置:首页 > 编程语言 > Java开发

javacript 框架设计1

2015-09-05 14:45 411 查看
种子模块

1.命名空间

IIFE 防止变量污染

2.对象扩展

javascript 属性描述符 (Property Descriptor) 之前

function  extend(desination, source){

for(var property in source){
desination[property]= source[property];
}
return desination;
}

//massFrameWork mix 方法

function mix(target, source){

var args= [].slice.call(arguments),i=1, key,
ride= typeof args[args.length-1]== "boolean"? args.pop(): ture;

if(args.length ===1){
target= !this.windows?this:{};
i=0;

}
while((source=args[i++])){
for(key in source){
if(ride || !(key in target){
target[key]= source[key];
}

}
}
}


数组化

通常 [].slice.call 就能转化 数组

//jquery makyarray

var markArray = function(array){

var ret =[];
if(array!=null)
{
var i= array.length;
if(i ==null || type array==="string" ||                             Jquery.isFunctoin(array)){
ret[0]= array;

}else{
while(i){
ret[--i]= array[i];

}
}
return  ret;
}

}


4.类型判断

javascript 两套类型系统, 一套是基本数据类型, 另外一套是对象类型系统,基本类型分为6种, undefined, string, null, boolean, function, object. 基本类型 通过typeof 判断, 对象类型 是以基本类型为基础的,通过instanceof 来判断。 javascript 这两套识别系统不靠谱。

typeof null// object
typeof docuemnt.childNodes // safari "fucntion"


inst
4000
anceof 只要原型链上存在此对象的结果 就返回true.

5 . 主流框架引入的机制- domReady

6 . 无冲突处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息