我的问题是,我创建了一个js文件。在此文件中定义了一些文本。
channel = {
categorie_one: "Hauptsender",
categorie_two: "Spartensender",
categorie_three: "Regionalsender"
}
现在我想在另一个js文件中嵌入categorie_one
。我正在使用该代码:
channel.categorie_one;
但是它显示在控制台中:Cannot read property 'categorie_one' of undefined
,逻辑上我链接了文件......
我在index.html中包含了js文件
<script src="javascripts/default.js" type="text/javascript" rel="javascript"></script>
<script src="javascripts/resources.default.js" type="text/javascript"></script>
在default.js中我有一个加载网站的方法。
function ChannelLoad(listview) {
//there should be cateogrie_one
}
你可以帮帮我吗?提前致谢
答案 0 :(得分:2)
在变量定义中添加分号:
channel = {
categorie_one: "Hauptsender",
categorie_two: "Spartensender",
categorie_three: "Regionalsender"
};
语法上你的变量定义是一个语句;如果与其他语句放在一行(我假设在包含你的js文件之后它会结束),它们必须用分号分隔。
答案 1 :(得分:1)
在你的html文件中按正确顺序包含脚本:
<script type="text/javascript" src="defines_object.js"></script>
<script type="text/javascript" src="uses_property.js"></script>
确保对象未在函数中定义,或者对象的范围将仅限于该函数。
答案 2 :(得分:0)
此代码应该有效。
您必须注意的唯一事情是您包含文件的顺序,所有文件将按其包含的顺序执行,因此您应首先包含声明该对象的文件,包含
channel = {
categorie_one: "Hauptsender",
categorie_two: "Spartensender",
categorie_three: "Regionalsender"
}
然后使用channel.categorie_one;
如果这仍然不起作用,请发布您的整个代码,可能存在范围问题(通道在本地范围内声明)
您应该按正确的顺序包含脚本:
<script type="text/javascript" src="defines_object.js"></script>
<script type="text/javascript" src="uses_property.js"></script>
答案 3 :(得分:0)
如果您在 resources.default.js 文件中定义了channel
变量,并且您尝试在 default.js 文件中访问它,那么必须颠倒你链接JS文件的顺序。
尝试:
<script src="javascripts/resources.default.js" type="text/javascript"></script>
<script src="javascripts/default.js" type="text/javascript" rel="javascript"></script>