我是靠谱客的博主 烂漫战斗机,最近开发中收集的这篇文章主要介绍一道ES6的面试题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

下面是一道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的面试题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部