Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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_Node.js - Fatal编程技术网

Javascript 不同类型的';这';调用/应用严格函数与非严格函数时

Javascript 不同类型的';这';调用/应用严格函数与非严格函数时,javascript,node.js,Javascript,Node.js,看起来,当我对一些非严格函数func使用func.call(12)时,它将使用this=new Number(12)而不是this=12(参见下面的代码片段)。我注意到了,因为这个的类型等于'object',而不是'number' 这是预期的行为吗?有什么办法吗 函数a(){ 归还这个; } 函数b(){ "严格使用",; 归还这个; } 常数x=a.call(12); 控制台日志(x型); 控制台日志(x); 控制台日志(x+3); 常数y=b.call(12); 控制台日志(y型); 控制

看起来,当我对一些非严格函数
func
使用
func.call(12)
时,它将使用
this=new Number(12)
而不是
this=12
(参见下面的代码片段)。我注意到了,因为这个的
类型等于
'object'
,而不是
'number'

这是预期的行为吗?有什么办法吗

函数a(){
归还这个;
}
函数b(){
"严格使用",;
归还这个;
}
常数x=a.call(12);
控制台日志(x型);
控制台日志(x);
控制台日志(x+3);
常数y=b.call(12);
控制台日志(y型);
控制台日志(y);
控制台日志(y+3)
这是预期的行为吗

是的,这是预期的行为。在sloppy模式下,
这始终是一个对象,将原语投射到各自的包装器对象。更糟糕的是,
null
undefined
被替换为全局对象

有什么办法吗

只要始终使用严格模式

这是预期的行为吗

是的,这是预期的行为。在sloppy模式下,
这始终是一个对象,将原语投射到各自的包装器对象。更糟糕的是,
null
undefined
被替换为全局对象

有什么办法吗

只要始终使用严格模式