Javascript在自定义命名空间中运行
Javascript functions in custom namespaces
可以在main函数中像这样声明两个以上的函数吗?
var jquery4u = {
init: function() {
jquery4u.countdown.show();
},
countdown: function() {
show: function() {
console.log('show');
},
hide: function() {
console.log('hide');
}
}
}
jquery4u.init();
和i收到以下错误:Uncaught SyntaxError: Unexpected token(在这一行"show: function() {"
从countdown
右侧移除function
(demo)
var jquery4u = {
init: function() {
jquery4u.countdown.show();
},
countdown: {
show: function() {
console.log('show');
},
hide: function() {
console.log('hide');
}
}
}
jquery4u.init();
下次,使用jsFiddle来做一个演示,并点击"JSHint"按钮。
实际上,这些都不起作用。除非你让countdown成为一个对象,或者你把它的子函数当作适当的函数。原因:在倒计时下,你创建了一个对象的实例,而不是一个函数。
var jquery4u = {
countdown: function() {
show = function() {
console.log('show');
}
hide = function() {
console.log('hide');
}
jquery4u.countdown.show();
}
}
上面的代码是一个有效的代码,所以它是可能的。遗憾的是,它不会返回任何东西。
正确的方法是这样的格式:
var jquery4u = {
countdown: {
show: function() {
console.log('show');
},
hide: function() {
console.log('hide');
}
}
}
这将工作。您可以调用:
jquery4u.countdown.show();
相关文章:
- 在javascript中使用命名空间
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- 如何使用javascript命名空间
- js命名空间和变量范围
- html,js-如何限制元素"范围“-命名空间
- 转换自的JavaScript命名空间
- 命名空间与自调用函数
- 什么's当前命名空间/类中JavaScript子命名空间/类的语法
- 无法加载Ace.js编辑器模式和主题(命名空间项目&AMD require.js&grunt
- jQuery命名空间和使用“;这个“;
- 在Firebug控制台中监视javascript命名空间变量
- jQuery事件命名空间是否可以包含破折号
- 用自定义javascript全局命名空间替换窗口
- 如何在Typescript中导出具有其他名称的命名空间
- 从html文件中的脚本标记调用非全局命名空间函数
- 具有命名空间的文档上的 jQuery 事件未按预期运行
- 编译转换:在运行TypeLite.tt时找不到类型或命名空间名称
- Javascript在自定义命名空间中运行
- QUnit 没有像我期望的那样运行手动命名空间的设置代码