首页 > 试题广场 >

以下程序的输出是?functionFoo(){vari=0;

[单选题]
以下程序的输出是?

function Foo(){

     var i=0;

     return function(){   

document.write(i++);

     }

}

var f1=Foo(),

f2=Foo();

f1();

f1();

f2();

  • 010
  • 012
  • 000
  • 011
涉及到++运算符和闭包的理解,document.write(i++);这个函数的i引用的是外层函数的i,形成闭包,使得i的初始值为0。第一个f1(),var f1=Foo()可以理解为document.write(i),就是0;i++属于后加,所以第二个f1()就输出document.write(i++);就是1。f2()输出document.write(i);就是0 所以输出010
发表于 2022-10-19 01:20:50 回复(0)