我有一个内部脚本,其数组定义如此。它还有一个外部脚本,用于读取“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);
问题: 如果我在任何地方调用该函数,但是从控制台调用它返回undefined。
我仍然是javascript的新手,所以我可能犯了一个愚蠢的错误或其他什么,如果你需要更多细节让我知道。此外,对帖子的质量道歉,这是我第一次在这里发帖。
感谢任何帮助,谢谢。
答案 0 :(得分:2)
不应该是data = { ...
?
答案 1 :(得分:0)
您可能会在脚本块声明数据之前包含外部javascript文件。这样做意味着在声明find.postCount();
之前调用data
。然后从控制台调用它将起作用,因为在那时声明了data
。
另请注意,当我调用它时,调用find.postCount();
显示为在控制台窗口中返回undefined(因为该函数声明变量user
但从未实际返回任何内容。