首页 > 编程语言 > 详细

javascript之复习(某些坑和函数)

时间:2015-12-25 23:37:34      阅读:317      评论:0      收藏:0      [点我收藏+]

最近准备面试,复习一下javascript,整理了一些javascript的奇淫技巧~许多来自司徒正美,崇拜++,请大神忽略我。

//为兼容ie的模拟Object.keys()

Object.showkeys = function(obj) {
    var a=[]; 
    for(a[a.length] in obj);
        return a;
}    

那么大家怎么模拟Object.keys()呢?是不是循环obj,再循环a数组赋值呢,反正一开始我就是这么想的,后来看到a[a.length]觉得蛮厉害的。

//mass Framework的合并对象,支持深拷贝的方法

function mix(target,source){
    var args=[].slice.call(arguments);
    var ride=typeof args[args.length-1]==‘boolean‘?args.pop():true;//判断深拷贝的布尔,一句话经典
...
}

一句话把是否是深拷贝的布尔值表示出来,简洁,高效,记录之。

// jq的makeAarry的复制数组

var i=array.length;
while(i)
    ret[--i]=array[i]

jquery的复制数组部分代码,蛮不错的。

//判断函数可以用return返回,其他情况下还可以减少对象的实例;

var toAarry =function(){
  return isIE()?    function(a,i,j,res){...}//以后每次执行都不用判断了,直接取toAarry
  : function(a,i,j){...}

这个方法是很多框架,前端都在用的,function,object,return的时候判断一下,比如第一次判断了你浏览器,以后就不用再判断了,直接用返回的东西。js设计模式很多也都用了这个模式,很高效的说。

还有很多,一会更新~

javascript之复习(某些坑和函数)

原文:http://www.cnblogs.com/dh-dh/p/5077215.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!