javacript 框架设计1

来源:互联网 发布:php数据加密传输 编辑:程序博客网 时间:2024/06/16 20:29

种子模块

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];        }   } }}
  1. 数组化

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

//jquery makyarrayvar 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// objecttypeof docuemnt.childNodes // safari "fucntion"

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

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

6 . 无冲突处理

0 0