面试题部分收录

1.经典的闭包,变量的作用域是词法作用域

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

解析:输出10个10。

修改使结果为0123456789:

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

或者

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

或者es6

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

 2.双向绑定

 3.参数累加

function ad () {
    return [].reduce.call(arguments, (a,b) => {return a+b})
}
console.log(ad(1,2,3,4));    // 10

 

posted @ 2018-06-04 10:29  blackatall  阅读(94)  评论(0编辑  收藏  举报