Javascript:Uncaught ReferenceError:tb未定义
app.jsJavascript:Uncaught ReferenceError:tb未定义,javascript,html,Javascript,Html,app.js "use strict"; var tb = { rahmen: { eigenschaften: [ "hochwertig", "verwindungssteif", "vergleichsweise verwindungssteif", "sehr verwindung
"use strict";
var tb = {
rahmen: {
eigenschaften: [
"hochwertig",
"verwindungssteif",
"vergleichsweise verwindungssteif",
"sehr verwindungssteif",
"sehr hohe Verwindungssteifigkeit",
"hohe Steifigkeit"
]
}
};
index.html
<!DOCTYPE html>
<html lang="en">
<head>
((Some Head-Tags))
<script src="dist/app.js" defer></script>
((Some Head-Tags))
</head>
<body>
<div class="container">
<section>
<h1>Test</h1>
<script>
console.log(tb.rahmen.eigenschaften[3]);
</script>
</section>
</div>
</body>
</html>
((一些头部标签))
((一些头部标签))
试验
log(tb.rahmen.eigenschaften[3]);
错误消息
未捕获引用错误:未定义tb
问题
这一定很简单,但读了很多帖子后我还是不知道。
为什么我的Javascript对象仍然没有定义
对不起,关于垃圾场的问题。
谢谢
Musa错误的原因是您在
script
标签上为app.js
添加了defer
,因此代码在解析完所有HTML之后才会运行。但是您尝试使用tb
的内联脚本
不会延迟,因此它会在遇到时立即运行,这是在HTML解析期间,因此是在运行app.js
之前
说明延迟内容的规范,以及此类内容:
我建议将所有逻辑保留在app.js
中,并删除第二个脚本。如果需要使用脚本在那里添加内容,请在解析HTML后通过DOM进行添加
例如,如果要在此处添加内容:
app.js
:
“严格使用”;
变量tb={
拉赫曼:{
伊格森沙夫滕:[
“hochwertig”,
“verwindungssteif”,
“vergleichsweise verwindungssteif”,
“sehr verwindungssteif”,
“这是我的梦想”,
“hohe Steifigkeit”
]
}
};
document.getElementById(“主要部分内容”).textContent=tb.rahmen.eigenschaften[3];
index.html
:
((一些头部标签))
((一些头部标签))
试验
请注意,现在只有一个脚本
,它在加载时工作。删除延迟。这将有助于解决问题。您推迟加载标题中的app.js
。尝试删除延迟
。谢谢您的图片。这对我帮助很大。同时也感谢所有其他的答案!你们太棒了,伙计们!