美文网首页
JS闭包-三种方法实现fnArr[i]() 输出 i

JS闭包-三种方法实现fnArr[i]() 输出 i

作者: Maggie_77 | 来源:发表于2016-12-18 19:42 被阅读0次

下面的代码输出多少?修改代码让fnArri 输出 i。使用两种以上的方法

var fnArr = [];
    for (var i = 0; i < 10; i ++) {
        fnArr[i] =  function(){
            return i;
        };
    }
    console.log( fnArr[3]() );  //10

实现:

方法一:
var fnArr = [];
    for (var i = 0; i < 10; i ++) {
        fnArr[i] =  (function(){
           var n = i;
           return function(){
           return n;
            }
        })();
    }
    console.log( fnArr[3]() ); //3

方法二:
var fnArr = [];
    for (var i = 0; i < 10; i ++) {
        (function(n){
           fnArr[i]=function(){
            return n;
           }
        })(i)
    }
    console.log( fnArr[3]() );  //3

方法三:
var fnArr = [];
    for (var i =0 ; i<10; i++){
       (function(){
          var n = i;
          fnArr[i]= function(){
            return n;
          }
       })()
    }
    console.log( fnArr[3]() );  //3

相关文章

  • 闭包_定时器_BOM

    1.下面的代码输出多少?修改代码让fnArr [i] () 输出 i。使用两种以上的方法 创建闭包方法1 创建闭包...

  • JS闭包-三种方法实现fnArr[i]() 输出 i

    下面的代码输出多少?修改代码让fnArri 输出 i。使用两种以上的方法 实现:

  • 闭包 任务

    题目1: 下面的代码输出多少?修改代码让fnArr[i]()输出 i。使用两种以上的方法 修改代码,用闭包保存每次...

  • 闭包、定时器、BOM

    BOM课件闭包概念1闭包概念2 1.下面的代码输出多少?修改代码让fnArr[i]() 输出 i。使用两种以上的方...

  • 任务20 闭包、定时器-代码题

    1.下面的代码输出多少?修改代码让 fnArr[i] () 输出 i。使用两种以上的方法 2.使用闭包封装一个汽车...

  • 闭包_定时器_BOM

    题目1: 下面的代码输出多少?修改代码让 fnArr[i]() 输出 i。使用 两种以上的方法 var fnArr...

  • 进阶11 闭包、定时器、BOM

    1.下面的代码输出多少?修改代码让fnArr[i]()输出 i。使用 两种以上的方法 输出结果为 10,fnArr...

  • 定时器 闭包 BOM

    一、下面的代码输出多少?修改代码让fnArr[i]()输出i。使用两种以上的方法 结果:以上代码,所有的fnArr...

  • 闭包_定时器_BOM

    1、下面的代码输出多少?修改代码让 fnArr[i]() 输出 i。使用两种以上的方法。 方法一: 方法二: 方法...

  • 任务11

    下面的代码输出多少?修改代码让 fnArr[i]() 输出 i。使用 两种以上的方法 输出i的两种方法: 封装一个...

网友评论

      本文标题:JS闭包-三种方法实现fnArr[i]() 输出 i

      本文链接:https://www.haomeiwen.com/subject/zerzmttx.html