概述
下面是一道ES6的面试题。
想要实现0-9的输出。
var funcs = [];
for(var i=0;i<10;i++){
funcs.push(function(){
console.log(i);
});
}
funcs.forEach(function(aa){
aa();
})
以上输出的结果为10个10
没有实现0-9的输出,要想输出需要用js的立即执行函数(IIFE)
代码如下:
var funcs = [];
for(var i=0;i<10;i++){
funcs.push(
(function(value){
return function(){
console.log(value);
}
})(i)
);
}
funcs.forEach(function(aa){
aa();
})
如果换成ES6的方法就会相对简单很多
var funcs = [];
for(let i=0;i<10;i++){
funcs.push(function(){
console.log(i);
})
}
funcs.forEach(function(aa){
aa();
})
当然还可以进行优化
const funcs=[];
for(let i=0;i<10;i++){
funcs.push(function(){
console.log(i);
})
}
funcs.forEach(func => func())
这些都可以输出0-9的结果。
最后
以上就是烂漫战斗机为你收集整理的一道ES6的面试题的全部内容,希望文章能够帮你解决一道ES6的面试题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复