如何在没有空函数的情况下用javascript实现对象组合
How to implement object composition in javascript without empty functions?
在为我们的团队开发新的javascript框架时,我一直想知道使用javascript类执行对象组合的最佳方式。
例如,我有一个名为ajax的简单对象(还有许多其他对象):
function ajax() {
}
ajax.prototype = {
postJSON: function(url, data, callback) {
return $.ajax({
'type': 'POST',
'url': url,
'contentType': 'application/json',
'data':JSON.stringify(data),
'dataType': 'json',
'success': callback
});
}
};
我有一个主要对象,可以访问框架的每个组件和自定义选项管理:
function ElDorado() {
...
this.ajax = new ajax();
...
}
最后,我使用了一个受限制的范围:
(function(window, jQuery) {
...
[ajax object]
...
[ElDorado main-object]
...
window.ElDorado = new Eldorado();
})(window, jQuery);
所以,我有两个问题:
如何避免ajax"class"函数为空?(因为我没有任何私人/公共成员)。
访问当前对象中其他对象的最佳方式是什么?例如,现在我必须执行:
window.ElDorado.[other-object]
由于似乎只使用一个实例,因此可以省略构造函数,直接创建对象:
this.ajax = {
postJSON: function(url, data, callback) {
return $.ajax({
'type': 'POST',
'url': url,
'contentType': 'application/json',
'data':JSON.stringify(data),
'dataType': 'json',
'success': callback
});
}
};
关于第二个问题:如果你只想有一个全局变量ElDorado
,那么你的选择非常有限。因此调用ElDorado
的属性的方式:
ElDorado.porperty
或
ElDorado["property"]
是你最好的选择。
相关文章:
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 如何在不单击javascript中的按钮的情况下触发事件
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 无法't在不使用Javascript刷新页面的情况下多次将值传递给文本框
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 如何在不知道关键字的情况下访问javascript对象值
- 为什么在这种情况下,“This”确实充当javascript函数中的私有成员
- 如何在不保存到其他变量的情况下更改JavaScript中的值
- 在不使用PHP的情况下将表单输入值获取到Javascript中
- 如何在不预定义的情况下将javascript函数传递到另一个函数中
- 在给定 javascript 中的表头的情况下生成 TSV 文件
- 如何在不退出javascript的情况下从javascript更新网页
- 我可以在不使用乘法运算符“”的情况下进行乘法运算吗*"在JavaScript中
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- Haxe Javascript:在不使用Reflect的情况下按名称获取和设置属性
- 在不使用javascript的情况下,可以在表单字段中设置文本占位符(以提示最终用户插入特定格式)
- 为什么下面的按钮切换情况下javascript工作