javascript str.split(":") "Uncaught Reference

javascript str.split(":") "Uncaught ReferenceError: myArray is not defined"

本文关键字:quot Uncaught Reference str split javascript      更新时间:2023-09-26

当下面的代码运行时,我得到"Uncaught ReferenceError: myArray is not defined"

this.GetClass  = function(klass) {
  $.each(jsonArray, function(i,val){
    var classes = val.class;
    myArray = classes.split(":")    
  });
}

请评论

我将假设您的文件以'use strict;'开头-您正在强制javascript进入严格模式。在这种情况下,您可以删除该行,或者更改

myArray = classes.split(":")  

window.myArray = classes.split(":");

强制它进入全局作用域。或者在需要它的范围内定义它,很可能在该函数之外,这样它就可以在任何需要它的地方使用。

您正在使用严格模式。因此,您必须说var或将其附加到一个对象。

换句话说,myArray没有定义。

http://jsfiddle.net/kimiliini/dR7za/

在非严格模式下,变量将被提升到全局空间,这通常是人们不希望看到的。

如前所述,您很可能处于严格模式,并试图分配给未声明的变量。

由于没有理由以这种方式(在循环中)创建全局变量,我假设您只是忘记添加var:

var myArray = ...;