如何在JavaScript中创建具有自己指针的唯一函数?
每次调用getFunction都会返回一个唯一的函数,对吗如何在JavaScript中创建具有自己指针的唯一函数?,javascript,Javascript,每次调用getFunction都会返回一个唯一的函数,对吗 var getFunction = function() { var myFunction = function() { }; return myFunction; } var function1 = getFunction(); var function2 = getFunction(); function1 === function2; // false 是的,每次调用函数时,都会为该运行创建一个新的作
var getFunction = function() {
var myFunction = function() {
};
return myFunction;
}
var function1 = getFunction();
var function2 = getFunction();
function1 === function2; // false
是的,每次调用函数时,都会为该运行创建一个新的作用域,其中定义的所有变量都是唯一的,并且不会在函数的运行之间共享
var getFunction = function() {
function myFunction() {
};
return myFunction;
}
var function1 = getFunction();
var function2 = getFunction();
function1 === function2; // false
即使执行以下操作也会产生相同的结果,因为内部函数仍然在函数的范围内定义,并且可以看到外部函数的参数
var getFunction = function() {
function myFunction() {
};
return myFunction;
}
var function1 = getFunction();
var function2 = getFunction();
function1 === function2; // false
是的,每次调用函数时,都会为该运行创建一个新的作用域,其中定义的所有变量都是唯一的,并且不会在函数的运行之间共享
var getFunction = function() {
function myFunction() {
};
return myFunction;
}
var function1 = getFunction();
var function2 = getFunction();
function1 === function2; // false
即使执行以下操作也会产生相同的结果,因为内部函数仍然在函数的范围内定义,并且可以看到外部函数的参数
var getFunction = function() {
function myFunction() {
};
return myFunction;
}
var function1 = getFunction();
var function2 = getFunction();
function1 === function2; // false
这可以可视化如下。外部作用域保存三个变量分配,getFunction调用将创建两个新作用域,返回在该作用域中定义的函数对象
这可以可视化如下。外部作用域保存三个变量分配,getFunction调用将创建两个新作用域,返回在该作用域中定义的函数对象