Javascript 在内部定义数组,在外部调用时返回undefined
我有一个内部脚本,它有一个这样定义的数组。它还有一个外部脚本,用于读取“数据”数组中的数据集。我制作了一个如何设置东西的模型,如果没有帮助,我会提供一个链接到实际页面 内部脚本:Javascript 在内部定义数组,在外部调用时返回undefined,javascript,Javascript,我有一个内部脚本,它有一个这样定义的数组。它还有一个外部脚本,用于读取“数据”数组中的数据集。我制作了一个如何设置东西的模型,如果没有帮助,我会提供一个链接到实际页面 内部脚本: <script type="text/javascript"> data = { "id": "1", "name": "joe" } </script> (function(window, document, undefined) { find = {
<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还是相当陌生,所以我可能犯了一个愚蠢的错误或其他什么,如果你需要更多的细节,请告诉我。另外,为帖子的质量道歉,这是我第一次在这里发帖
非常感谢您的帮助。这不应该是
数据={…
?您可以在脚本块声明数据之前包含外部javascript文件。这样做意味着查找.postCount()在声明数据之前调用了
。从控制台调用它会起作用,因为此时声明了数据
还请注意,调用find.postCount();
在我调用它时,在控制台窗口中显示为返回undefined(因为该函数声明变量user
,但实际上从未返回任何内容)。是的,这在实体模型中是一个错误。post现在已修复。如果您按照该顺序嵌入了脚本(首先是数据定义,其次是带有自动调用函数的脚本),然后我看不出这不起作用的原因(假设脚本“正常”嵌入,没有异步/延迟或任何东西)。请提供一个jsfiddle.net示例,我们可以在其中看到您的问题。谢谢,这是程序问题。我不敢相信我没有想到。谢谢,非常感谢您的帮助。