我的JavaScript架构(YUI3)有什么问题?
Whats wrong with my JavaScript architecture (YUI3)?
我正在编写一个使用YUI3满足所有JS需求的web应用程序。我需要的功能,如工具提示,工具提示的内容是由AJAX查询,切换按钮等确定。
我不确定谁来构建一个体系结构来实现这一切。我采取了以下方法
var Myapp = function(){
this.toggleButton(node,config)
{
YUI().use(....,function(Y){
//code to convert NODE into a toggle button;
});
}
return this;
};
在我的应用程序中,我通过调用
将所有按钮转换为切换按钮var app = Myapp();
app.toggleButton(Y.all('.toggle-buttons'),{'text1':'TOGGLE_ME','text2':'TOGGLED_ME'});
所有这些都有效。但我想从更有经验的开发者那里了解这种方法是否存在根本性的错误。
这是使用JavaScript的好方法吗?
return this;
这是不必要的,因为函数构造函数默认返回this
。
var app = Myapp();
您忘记在没有new
关键字的情况下调用new Myapp()
, this
将是窗口对象,您将有效地写入全局作用域。
你的代码中有一个基本的问题:
var MyApp = function(){
this.toggleButton(node,config)
{
...
您没有为MyApp
定义函数。相反,每次实例化toggleButton时都尝试调用toggleButton。它应该失败,因为函数未定义
在您的示例中,不需要类定义和实例化,因为MyApp
被用作实用程序。
您可以将MyApp
定义为静态对象:
var MyApp = {
toggleButton: function toggleButton() {
// your code
}
};
你可以在任何地方使用
MyApp.toggleButton();
相关文章:
- 我不知道我的编码有什么问题.(JavaScript)
- 我的流星路线出了什么问题
- 此nodeValue替换代码有什么问题
- 这个正则表达式的日期/时间有什么问题
- 我的CSS/Javascript下拉菜单测试代码出了什么问题
- 这个代码出了什么问题?(Jquery)
- 下面的Reg表达式出了什么问题
- 鼠标事件,我的代码出了什么问题
- 这个javascript语法有什么问题
- 动态创建foreignGroup并将其添加到svg中有什么问题
- 此代码中动态生成选择框有什么问题
- 我的javascript有什么问题?.className
- 这个 ajax.js 代码有什么问题
- JS代码有什么问题,让我知道代码是否可以改进
- 我的 Browserify JavaScript 代码有什么问题
- 图像上传功能将++(+1)副本添加到下一次上传.出了什么问题或如何重置“选定图像”
- 使用 Javascript 动态删除行.我的代码有什么问题
- AngularJS:这个注入我的控制器有什么问题
- 这个jQuery if语句有什么问题
- JavaScript:有人能告诉我我的代码出了什么问题吗?