执行以下程序,下列选项中,说法错误的是()
function fn(){
var num = 0;
return function(){
console.log(++num);
}
var fun = fn();
fun(); ...①
fun(); ...②
程序存在闭包现象
匿名函数的this指向window对象
①式输出1
②式输出1
A.fn()包着一个匿名函数function,形成闭包 正确✅B.只要是fn()这种形式执行的,this都是默认绑定指向window✅(this的四种绑定 默认、隐式、显式、new绑定)C.fun(); ...① 值为1,num先自增1后赋值 值为1 正确✅D.fun(); ...② 值为2,闭包中的变量不会被垃圾回收,因为还保持着引用,因此num的值还是1,自增变成2 错误❌
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题