Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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,我编写了一个代码,如图所示,其中我为一个全局变量赋值,这将暂停我进一步的代码执行 resultCollection是全局变量。我的程序也在严格模式下运行 "use strict"; var View = Backbone.View.extend({ initialize : function(options){ this.el = options.el; resultCollection = options.resultCollection;

我编写了一个代码,如图所示,其中我为一个全局变量赋值,这将暂停我进一步的代码执行

resultCollection是全局变量。我的程序也在严格模式下运行

"use strict";
var View = Backbone.View.extend({
     initialize : function(options){
         this.el = options.el;
         resultCollection = options.resultCollection;
         console.log('resultCollection',resultCollection);
         this.render();
     }  
当全局变量被赋值时,console.log从未被打印,执行也没有停止,只是暂停或仍在执行


为什么会这样?有人能给我一些见解吗?

在严格模式下,您应该在控制台中看到错误

因此,在变量名前面加上
窗口。
就可以了

附言:见


在控制台中,您将得到未捕获的引用错误:b未定义,而全局
a定义良好。

您是在浏览器中还是在服务器代码中?您是否正在尝试/捕获?它是客户端javascript,因此在浏览器上。而且它不在try/catch块中。我正在使用BackboneJS,其中的代码是在某个主干视图的initialize函数中编写的。window.resultCollection怎么样?我理解您的意思。当添加到窗口对象时,它将起作用。我想问的是,为什么浏览器在使用“严格模式”的情况下没有抛出异常。@SrikanthManian:它确实抛出了异常。检查jsfiddle链接我检查了它,但是为什么它没有加入我的特定代码?@SrikanthManian:我怎么猜你的代码是什么?在我的代码中是这样的,它应该总是抛出错误。只有当脚本文件或函数体中的第一个标记是“use strict”时,严格模式才被激活。在你的代码中是这样的吗?裁判: