无法在js文件中嵌入一些文本

时间:2013-07-15 09:39:33

标签: javascript jquery

我的问题是,我创建了一个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
}
你可以帮帮我吗?提前致谢

4 个答案:

答案 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>