zoukankan      html  css  js  c++  java
  • js笔试题

    能够看出赋值语句是从前向后的顺序,先给foo.x赋值。然后给foo又一次赋值,所以最后foo是{n:2}。foo.x-->undefined


    console.log('one');
    setTimeout(function() {
      console.log('two');
    }, 0);
    console.log('three');
    这个考察的对闭包和毁掉函数的理解,setTimeout函数中有个回调函数。是异步的,所以总是在运行完外层之后才回调。

    类似的题例如以下:

    for(var i = 0; i < 10; i++) {
           setTimeout(function() {
               console.log(i);
           }, 0);
       }

    输出结果是10次10,然后我就跑断点走了一下。。。

    果然不出我所料,每次for循环的过程中仅仅是调用了一下setTimeout函数,并没有运行回调函数,回调函数是等0s之后才去触发,然而此时for循环已经走完了,so...you need do this.

    for(var i = 0; i < 10; i++) {
              var a = i;
              (function(a){
                setTimeout(function() {
                  console.log(a);
                }, 0);
              })(a)
            }



  • 相关阅读:
    Oracle Golden Gate
    DNS
    RMAN 管理
    黄伟-RAC生产库现场调整本分策略实战
    Linux下RAID技术
    OCP之黄伟 2
    About NULL Value
    OCP之黄伟
    Table
    Perl的简单变量
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7252156.html
Copyright © 2011-2022 走看看