Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中创建具有自己指针的唯一函数?_Javascript - Fatal编程技术网

如何在JavaScript中创建具有自己指针的唯一函数?

如何在JavaScript中创建具有自己指针的唯一函数?,javascript,Javascript,每次调用getFunction都会返回一个唯一的函数,对吗 var getFunction = function() { var myFunction = function() { }; return myFunction; } var function1 = getFunction(); var function2 = getFunction(); function1 === function2; // false 是的,每次调用函数时,都会为该运行创建一个新的作

每次调用getFunction都会返回一个唯一的函数,对吗

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调用将创建两个新作用域,返回在该作用域中定义的函数对象