当运行以下代码时,我得到“Uncaught ReferenceError:myArray is not defined”
this.GetClass = function(klass) {
$.each(jsonArray, function(i,val){
var classes = val.class;
myArray = classes.split(":")
});
}
请发表评论
答案 0 :(得分:3)
我将假设您的文件以'use strict;'
开头 - 您正在强制javascript进入严格模式。在这种情况下,您可以删除该行,或更改
myArray = classes.split(":")
到
window.myArray = classes.split(":");
强制它进入全局范围。或者在需要的范围内定义它,最有可能在该功能之外,以便随时随地使用它。
答案 1 :(得分:1)
您正在使用严格模式。因此,您必须说var
或将其附加到对象。
换句话说myArray
未定义。
http://jsfiddle.net/kimiliini/dR7za/
在非严格模式下,变量将被提升到全局空间,这是人们通常不想要的。
答案 2 :(得分:0)
如前所述,您很可能处于严格模式并尝试分配给未声明的变量。
由于没有理由以这种方式创建全局变量(在循环中),我假设您忘记添加var
:
var myArray = ...;