1

我有一个内部脚本,它有一个像这样定义的数组。它还有一个外部脚本,用于读取“data”数组中的数据集。我做了一个模型来说明我是如何设置的,如果这没有帮助,我将提供一个指向实际页面的链接。

内部脚本:

<script type="text/javascript">
  data = {    
   "id": "1",
   "name": "joe"
  }
</script>

外部脚本:

(function(window, document, undefined) {
  find = {
    postCount: function(){
      var user = data.name;
    }
  };

  find.postCount(); // If called here, data is undefined.

})(this, document);

问题:如果我从控制台以外的任何地方调用该函数,它会返回未定义。

我对javascript还是很陌生,所以我可能犯了一个愚蠢的错误或其他什么,如果您需要更多详细信息,请告诉我。另外,为帖子的质量道歉,这是我第一次在这里发帖。

任何帮助表示赞赏,谢谢。

4

2 回答 2

2

不应该data = { ...吗?

于 2013-06-26T07:35:15.423 回答
0

您可能会在声明数据的脚本块之前包含外部 javascript 文件。这样做意味着在声明find.postCount();之前被调用data。然后从控制台调用它会起作用,因为此时data已声明。

另请注意,find.postCount();当我调用它时,调用在控制台窗口中显示为返回未定义(因为该函数声明了变量user但实际上从未返回任何内容。

于 2013-06-26T08:08:15.323 回答