服务器上忽略了显示模块模式的javascript
javascript revealing module pattern ignored on server
我一直在寻找为什么我的javascript代码完全在我的网络主机上的答案。我有一些现有的javascript函数,在我尝试使用javascript中的揭示模块模式修改它们之前,它们一直工作得很好,因为从我收集的信息来看,这是减少对全局命名空间污染的好做法。在这个范围之外没有函数调用,所以我没有使用返回指向函数。在VisualStudio中进行测试时,它在不同的浏览器中都能正常工作。
godaddy服务器中是否有我需要配置的东西?我试着打电话给他们寻求支持,但没有得到帮助。下面是我的代码示例。事实上,我在这个范围内有更多的功能,但在这个问题上保持了简短。提前谢谢。
myModule = (function () {
//add upDate
function timeOfUpdate {
var timeOfUpdate = new Date(document.lastModified);
$("#lastUpdate").append(timeOfUpdate);
}
//add some more functions
function modTwo {
//add code to execute..
}
})();
我不确定你想对模块定义做什么,但你没有从模块返回任何东西,所以模块内的函数在模块内是本地的,不能从模块外使用。如果你看看这个关于揭示模块模式的引用,你会清楚地看到他们正在返回一个带有方法的对象,这就是分配给模块变量的内容。
也许你想做的是:
var myModule = (function () {
return {
//add upDate
timeOfUpdate: function {
var timeOfUpdate = new Date(document.lastModified);
$("#lastUpdate").append(timeOfUpdate);
},
//add some more functions
modTwo: function {
//add code to execute..
}
}
})();
这将从IIFE返回一个对象,以便myModule成为一个将方法timeOfUpdate()
和modTwo()
作为对象属性的对象。
然后,您可以访问以下功能:
myModule.timeOfUpdate();
myModule.modTow();
如果您没有尝试在模块外使用这些函数中的任何一个,那么您必须帮助我们提供更多关于您尝试做什么以及看到哪些错误的详细信息。你可以在IIFE中封装一堆代码,就像你做得很好一样,这不会造成任何问题。如果你没有从IIFE返回任何东西,那么分配给myModule = ...
中的模块名称就没有意义,所以在我看来,你至少朝着错误的方向前进了,但如果不了解你试图对这个模块做什么,或者你遇到了什么错误,我们真的无法提供进一步的帮助。
此外,您的示例显示了一些本地函数定义,但没有显示调用任何函数,因此在插入一些实际调用函数的代码之前,不会发生任何事情。
- Javascript,访问一个主要对象模块模式中的每个对象
- 模块模式和这个
- 显示模块模式在Knockout中设置模型的新实例
- Javascript中的模块模式和揭示模块模式是否仅在创建API时有用;s
- JavaScript模块模式-如何在使用对象/函数之前激发构造函数/init函数
- TypeScript代码类似于揭示模块模式结构
- 为什么在javascript中的模块模式中实现Lazy函数时范围会发生变化
- JavaScript:模块模式差异
- 显示模块模式中的私有成员
- 如何将window.setTimeout与javascript和模块模式一起使用
- j查询模块模式未命名 |如何访问“$”
- 挖空和显示模块模式的数据绑定问题
- 传递参数时如何避免模块模式中的 getter/setter 函数
- JavaScript 模块模式给出了意想不到的结果
- 从模块模式开始
- 试图通过模块模式在DOM元素上实现change()事件
- 揭示模块模式、KnockoutJS和CoffeeScript
- 使用模块模式时访问父作用域中的变量
- 模块模式:函数未定义
- 如何用模块模式扩展javascript中的事件委派