面试题部分收录
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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步