Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 new Function()如何初始化它_Javascript_Function_Constructor - Fatal编程技术网

Javascript new Function()如何初始化它

Javascript new Function()如何初始化它,javascript,function,constructor,Javascript,Function,Constructor,我正在寻找有关如何在使用新函数()构造函数时初始化此值的信息 我已经在节点10.24.0上对其进行了测试,它的行为似乎与lambas(箭头函数)的行为相同:没有设置,因为没有构建闭包 我的猜测正确吗 下面是一个简单的测试: > let o = { 'a' : 1, f : new Function('return this;') }; > o; { a: 1, f: [Function: anonymous] } > o.f(); { a: 1, f: [Function: a

我正在寻找有关如何在使用新函数()构造函数时初始化此值的信息

我已经在节点10.24.0上对其进行了测试,它的行为似乎与lambas(箭头函数)的行为相同:没有设置,因为没有构建闭包

我的猜测正确吗

下面是一个简单的测试:

> let o = { 'a' : 1, f : new Function('return this;') };
> o;
{ a: 1, f: [Function: anonymous] }
> o.f();
{ a: 1, f: [Function: anonymous] }

显然,正如您自己的测试所证实的,这是不正确的
Function()
创建正常函数,而不是箭头,因此在创建时不会发生
此绑定

让o={
"a":1,,
x:function(){返回此},
y:新函数('returnthis;'),
z:()=>{返回此}
};
console.log(o.x()==o)//是
console.log(o.y()==o)//是

console.log(o.z()==window)//是
不是在创建时设置的,而是在调用时确定的。此外,
这个
与闭包没有任何关系。