可以't使enum在JavaScript中跨不同的文件/类工作
Can't make enums workable across different file/class in JavaScript
我创建了一个非常简单的原型:
<script type="text/javascript">
Days = { "sunday": 0, "monday": 1, "tuesday": 3, "wednesday": 4,
"thursday": 5, "friday": 6, "saturday": 7 };
alert("Day Names Enumerator=" + Days.friday);
</script>
执行的结果是:
日期名称枚举器=6
一旦我将枚举定义移动到另一个文件中
File1.js:
Days = { "sunday": 0, "monday": 1, "tuesday": 3, "wednesday": 4,
"thursday": 5, "friday": 6, "saturday": 7 };
File2.html
<script type="text/javascript" src="File1.js"></script>
<script type="text/javascript">
alert("Day Names Enumerator=" + Days.friday);
</script>
我收到一个错误:
未捕获引用错误:未定义天数
问题1:这种方法有什么问题?我在JS中看到了很多关于枚举的建议,但没有从不同的文件中使用它们
最后,我希望我的枚举是File1:中描述的类的一部分
function File1Class(){
this.prototype.Days2 = { "sunday": 0, "monday": 1, "tuesday": 3, "wednesday": 4,
"thursday": 5, "friday": 6, "saturday": 7 };
}
并像这样使用:
<script type="text/javascript" src="File1.js"></script>
<script type="text/javascript">
alert("Day Names Enumerator=" + File1Class.Days2.friday);
</script>
但我仍然收到了类似的错误:
未捕获的类型错误:无法读取属性"friday"或未定义的
问题2:如何使用类内部定义的枚举?同样,我在JS中看到了很多关于枚举和类的建议,但没有看到关于同时使用它们的
请告知,欢迎任何反馈。
提前非常感谢。
编辑:
你们为什么不回答?这对所有人都有帮助(我相信,至少我能投票并以某种方式奖励你)。
关于第一个问题:我在"Days"之前添加了"var"声明,允许从另一个文件访问其值。
非常感谢!
关于第二个:看起来我应该将Days2声明从类构造函数中移出,使其执行。我做到了:把它放在课堂申报之前,放在。。。但仍然无法从类本身调用它:
File1Class.prototype.Days2 = { "sunday": 0, "monday": 1, "tuesday": 3, "wednesday": 4,
"thursday": 5, "friday": 6, "saturday": 7 };
function File1Class(value) {
this.value = value;
alert(1);
alert("<b>From class internals:</b> " + File1Class.prototype.Days2.friday + "<br />");
错误仍然相同:
未捕获的类型错误:无法读取属性"friday"或未定义的
请告知!欢迎有任何想法!
在回答问题1的"EDIT"部分,为了一致性,它是:
"var"应用于定义任何全局变量(感谢Stoive和jfriend00的建议)
关于第二个问题:我的类文件中有另一个语法问题,一旦解决了,正确的解决方案(同样是Stoive提出的)会有所帮助:
声明不应放入构造函数中,应提前声明以便执行
非常感谢大家!
相关文章:
- 使用javascript配置文件作为handlebas博客模板,但配置不是't工作正常
- 当加载几个js文件时,defer属性应该如何工作
- 限制文件类型,大小,单次上传不'无法在jquery文件上传中工作
- HTML文件中的智能Javascript建议在Visual Studio代码更新后没有日志程序工作
- 我的代码在<脚本>标记,但没有'不能在外部文件中工作
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- 在Alfresco中动态创建空间/文件夹的Javascript;t工作正确
- 如何让jQuery在我的Typescript文件中工作
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- 在html文件中添加了多个外部javascript,其中一个停止工作
- 日食添加文件而不将其复制到工作区中
- 无法让 javascript 从外部文件工作
- JavaScript 无法从单独的文件工作
- JavaScript 不能作为外部文件工作
- 如何使本地js文件工作
- 为什么头中包含的第二个js文件工作不正常
- 外部javascript文件工作但不调用函数
- 在Node.js中,异步文件IO方法是如何为本地文件工作的?
- JS -画布从图像文件-工作仅与浏览器缓存存在
- 为什么我的Javascript不从PHP文件工作