Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.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,我的代码: 'use strict'; var foo=function(){ alert(this); } var bar = { baz:foo, }; var x = bar.baz; x();//1 当我直接执行时,一切正常,警报未定义。当我在(1)处插入断点时,按F11键两次,提醒窗口 有人能解释一下吗?非常感谢。我创建并检查了。我在1和使用F11控制台时添加了断点。log或alert(我将alert更改为在最后一个示例中登录)show meundefined…但随后

我的代码:

'use strict';
var foo=function(){
    alert(this);
}
var bar = {
    baz:foo,
};
var x = bar.baz;
x();//1
当我直接执行时,一切正常,警报
未定义
。当我在(1)处插入断点时,按F11键两次,提醒
窗口

有人能解释一下吗?非常感谢。

我创建并检查了。我在
1
和使用F11
控制台时添加了断点。log
alert
(我将alert更改为在最后一个示例中登录)show me
undefined
…但随后我在断点处停止并调用浏览器开发工具控制台
x()
结果是Mac OS X/Chrome最新版本中的scope对象,而Mac OS X/Firefox las版本的结果是
未定义


因此,在非标准线程(如dev tools控制台)中执行的结果是不同的,与javascript语言无关。

更正代码first@Phoenix,我知道代码看起来很奇怪,但没有错误,执行正常。那么它有什么问题?你能说清楚吗?@meagar注意到
使用严格的
,没有断点,警告未定义在foo声明后,你应该用
关闭语句。你能不能把代码的其他部分显示出来,因为在我的例子中它是有效的perfectly@Phoenix所有代码都在这里。我和我的朋友得到相同的结果。没有断点,警报
未定义
;当断点位于(1)时,按F11,警报
窗口
谢谢。但调试模式下的结果与标准模式下的结果不同,这太奇怪了……有没有文章对此进行解释?因为浏览器使用的是调试线程包装器,比如Gecko使用或Blink使用自己的V8 shell/debug服务器。