javacript 框架设计1

种子模块

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 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"

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

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

6 . 无冲突处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值