• 面试心经之题目二


    number4:

    参考文:http://my.oschina.net/ohcoding/blog/470952?p=1

    题目:

    实现一下函数:
    isArray
    isFunction
    isNull
    //isArray的实现
    function isArray(a){
        return a instanceof Array;
    }
    //jquery 的实现机制
    function isArray2(a){
        return Object.prototype.toString.call(a) === '[object Array]'
    }


     剩下应该是相同的。

     考察点很基础:1.排除undefined 因为undefined==null 2.排除object 因为 null 是空指针对象 所以 typeof null==object ,因为 Boolean(Object)==true Boolean(null)=false;加上typeiof ==object

    条件可以排除其他原始类型还有function

    function isNull(a){
       return !a&&typeof a==‘Object’ ;  //Wrong
     
    return !a&&typeof a==‘object’ ;
    }

     其他类型的检测:

    http://www.jb51.net/article/48481.htm

    http://www.cnblogs.com/fang9159/archive/2012/09/14/boolean.html

    numebr5:

    写出isNull的测试代码


    刚看到的时候不清楚 是什么意思?

    应该是考虑 typeof Boolean()  所以这道题应该跟上文相同   回过头来再补充...回过头来了...

    come on!

    //isNull测试代码
    function isNull(){
        var arr_null=new Array();
        for(var i in arguments ){
            arr_null[i]=(!arguments[i] && typeof arguments[i] =='object');
        }
        return arr_null;
    }
    测试数据:
    var a=undefined;
    var b=[1,2];
    var c={'a':1,'b':2};
    var d=function(){};
    var e=null;
    var _4arr2=[a,b,c,d,e];
    var test4=isNull(e);
    //测试isNull的代码
    var test5=isNull.apply(null,_4arr2);
    console.log('test4:'+test4+'
    test5:	'+test5);

    测试结果:

    之中犯了一个错误关于 for...in...

    看代码一目了然:

    number6:

    实现function(max)
    返回0~max 的整数 传参是 decimal(小数)

     看似简单其实要求js的基础非常牢固,我还记得我直接round了...应该是floor()

    //实现返回0~max 的整数 传参是 decimal
    function randonint(max){
        var count=0;
        do{
            var m=Math.random()*max;
            var v= Math.floor(m);
            console.log( 'v:'+v+'	m:'+m);
            count++;
        }while(count<100);
    
    }
    var max=5.4;
    randonint(max);

    代码段:

    嗯 按惯例  跳到下一篇写...给链接:

    上文涉及的知识点:

    链接:....

    No living without dream
  • 相关阅读:
    linux tcp/ip 调优
    ulimit 管理系统资源
    linux grep 设置高亮显示
    linux 调整内核优化
    微信公众平台自定义菜单及高级接口PHP SDK
    微信公众平台开发(102) 模版消息
    微信WeixinJSBridge API
    微信支付开发(2) 静态链接Native支付
    微信分享JS接口失效说明及解决方案
    微信JS接口
  • 原文地址:https://www.cnblogs.com/belongcai/p/4771060.html
Copyright © 2020-2023  润新知