美文网首页
面试每天刷(javaScript):2017-11-16

面试每天刷(javaScript):2017-11-16

作者: 厂厂哥 | 来源:发表于2017-11-16 16:45 被阅读23次

    1.假设val已经声明,可定义为任何值。则下面js代码有可能输出的结果为:

    console.log('Value is ' + (val != '0') ? 'define' : 'undefine');//define
    

    解析:这道题一开始做的时候填的是Value is define,但是确实错误的,这是因为没有考虑到标识符运算的优先级,+的优先级高于三目运算符?所以相当于下面的执行。

    var val;
    var a=(val != '0');
    var a='Value is ' +a;
    var a=((a)? 'define' : 'undefine');
    console.log(a);//define
    

    2.下面程序的结果是?

    console.log(([])?true:false); //true
    console.log(([]==false?true:false));//true
    console.log(({}==false)?true:false);//false
    

    解析:
    ◎第一题是判断是否是真值,就是Booean([])为true.
    ◎第二三题涉及较多东西,晚点发篇文章补回。

    3.如何把 7.25 四舍五入为最接近的整数?

    Math.round(7.25);
    

    解析:
    ◎Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数;
    ◎Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数;
    ◎Math.round()执行标准舍入,即它总是将数值四舍五入为最接近的整数(这也是我们在数学课上学到的舍入规则)。
    4.下面程序的结果是?

    console.log(1+ "2"+"2");//"122"
    console.log(1+ +"2"+"2");//"32"
    console.log("A"- "B"+"2");//"NaN2"
    console.log("A"- "B"+2);//"NaN"
    

    解析:第二题中的 +"2"中的+相当于Number("2");
    5.下面代码的执行结果是?

    var arr=[];
    arr[0]=0;
    arr[1]=1;
    arr.foo='c';
    

    解析:arr是一个对象,arr.length和arr.foo是等价的都是lenth的属性。arr.length作用是数组方法。
    6.javaScript的全局函数
    解析:
    decodeURI() 、decodeURIComponent() 、encodeURI() 、encodeURIComponent() 、escape() 、unescape()、eval()。

    相关文章

      网友评论

          本文标题:面试每天刷(javaScript):2017-11-16

          本文链接:https://www.haomeiwen.com/subject/zbilvxtx.html