美文网首页
JS编程错题总结(更新中)

JS编程错题总结(更新中)

作者: 一只dororo | 来源:发表于2017-09-08 20:25 被阅读0次

    1、以下代码执行的结果是()

    for(var i=0;i<5;++i){

    setTimeout(function(){

    console.log(i+' ');

    },100);

    }

    错误答案:0 1 2 3 4

    正确答案:5 5 5 5 5

    解析:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 所以匿名函数根本就没有立即执行(不是每次循环都打印了),而是在100毫秒后执行(依然按循环执行),匿名函数开始访问外部函数的变量时,变量的值早已成为最后一个即5(++i,先在最后一个数4的基础上+1,再执行下一次判断)

    2、表达式”2”+3+4的值为?

    错误答案:”27”

    正确答案:“234”

    解析:因为都是+,从“2”开始加的时候,先处理"2"+3,再处理"23"+4,结果"234" ;

    如果是 "2"+3/4 ,结果就不一样了,先执行3/4 再和“2”加,结果是20;

    如果是Number("2")+3+4,结果就是9 

    相关文章

      网友评论

          本文标题:JS编程错题总结(更新中)

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