zoukankan      html  css  js  c++  java
  • 一道面试题关于js中逗号

    一、今天遇到一个面试题,自我感觉是会,但是却做错了。人都是这样,自我感觉良好,其实也就预警自己已经忽视一些细节以及一些自我感知。

    面试题:

    1    var i=0,j=0,k;
    2     for(;i<3,j<5;i++,j++){
    3         k=i+j;
    4     }
    5     console.log(k);

    求k的值,当时想都没想,直接认为是4。但是结果却是8。这是因为什么?都逗号的缘故。

    逗号的作用是连接表达式,如果多个表达式:f1,f2,f3.....fn 的时候作为判断条件的时候,最终这个表达式的值是由第n个表达式决定即最后的表达式的值决定。

    这就是解释上面的问题。当j等于5的时候表达式:i<3,j<5返回的是false 所以这时候 i,j的值都是4。

    注意:

      1、js中基本数据类型传递的值。

      2、对象类型传递的是地址。

  • 相关阅读:
    erl_0012 timer:tc 测试模块函数调用运行耗时
    erl_0011 erlang 定时器相关
    erl0010
    erl0009
    erl0008
    erl0007
    erl0006
    erl0005
    开开心心过生活、踏踏实实做技术
    Android-理解Intent
  • 原文地址:https://www.cnblogs.com/evilliu/p/10789329.html
Copyright © 2011-2022 走看看