Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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 JS控制台显示错误结果_Javascript_Firefox_Module Pattern_Revealing Module Pattern - Fatal编程技术网

Javascript JS控制台显示错误结果

Javascript JS控制台显示错误结果,javascript,firefox,module-pattern,revealing-module-pattern,Javascript,Firefox,Module Pattern,Revealing Module Pattern,在修改变量并显示它()时,Firefox有一种奇怪的行为: 为什么会发生这种情况?(为什么当前位置在修改为17之前给出17?) 更一般地说,如何在显示模块模式中获取/设置变量? Firefox的屏幕截图: 看起来Firefox持有对该对象的引用,当您检查它时,您会看到它在这两种情况下的修改状态。 下次,您可以在该行上设置断点,并在那里查看变量。根据我的经验,这更可靠。 当您将日志语句更改为记录值而不是对象时,它将始终按照预期工作 console.log(MyModule.currentPosi

在修改变量并显示它()时,Firefox有一种奇怪的行为:

为什么会发生这种情况?(为什么
当前位置
在修改为
17
之前给出
17
?)

更一般地说,如何在显示模块模式中获取/设置变量?


Firefox的屏幕截图:


看起来Firefox持有对该对象的引用,当您检查它时,您会看到它在这两种情况下的修改状态。
下次,您可以在该行上设置断点,并在那里查看变量。根据我的经验,这更可靠。 当您将日志语句更改为记录值而不是对象时,它将始终按照预期工作

console.log(MyModule.currentPosition.x);
MyModule.changePosition();
console.log(MyModule.currentPosition.x);
关于模块模式。您已经按照应该的方式实现了它:)

是我的第一个javascript模式源。->

我猜您是一行接一行地运行了3行,当您检查第一行打印内容时,它旁边有一点
I
。Chrome将报告对象的最新属性,而不是打印时的属性值,因此如果您只打印currentPosition而不运行changePosition(),则您将看到1,2,3。

当我在控制台中执行上述代码时,它会显示正确的结果。无法重新处理您的问题,代码按预期工作-第一次输出(1,2,3)第二次-(17,2,3)@A1rPun在问题中添加了一个屏幕截图(在Firefox上制作)我对Firefox没有一点
I
。如果发生这种情况,我如何信任JS控制台/哦,是的,小我是一个镀铬的东西。如果单独打印基本体,则会打印其值;如果打印对象的克隆,则会在初始化时获得值
console.log(MyModule.currentPosition.x);
MyModule.changePosition();
console.log(MyModule.currentPosition.x);