如何定义一个可以链接到其他Javascript库的Javascript函数
How can I define a Javascript function that can be chained onto other Javascript libraries?
如何定义一个可以链接到jQuery方法或其他库方法的方法?
因此,假设我有以下代码:
var Calculator = function(start) {
var that = this;
this.add = function(x) {
start = start + x;
return that;
};
this.multiply = function(x) {
start = start * x;
return that;
};
然后,我可以根据需要将方法链接到计算器对象:
new Calculator(0)
.add(1)
.multiply(2)
但是,如果我想将一个名为"my_method"的方法链接在jQuery对象之上,如下所示:
$(document).append("<p></p>").my_function();
$(document).my_function();
我将如何定义这样的函数?我尝试将my_function
添加到"Object"类中,但这不适用于对象数组:
Object.my_function = function() {
alert(this);
return this;
};
jQuery允许您通过向jQuery.fn
添加属性来扩展其对象。
所以:
$.fn.my_function = function() {
…
};
您还可以使用 jQuery.fn.extend
扩展具有多个属性的 jQuery 的对象原型。
至于其他库 - 它各不相同!如果他们的对象有一个通用的构造函数,你通常可以将你的方法放在他们的原型上,顺便说一下,这是你的Object
示例的问题;您需要将您的方法放在Object.prototype
上,以便它成为查找链的一部分。
例如,您自己的示例可以重写为这样(这实际上是"常规"类"的首选):
function Calculator(start) {
this.start = start;
}
Calculator.prototype.add = function(x) {
this.start += x;
return this;
};
Calculator.prototype.multiply = function(x) {
this.start *= x;
return this;
};
相关文章:
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- 使用Java从javascript链接获取html更改
- 动态虚拟目录和外部 JavaScript 链接
- Web 地址虚拟目录会断开外部 JavaScript 链接,因此找不到文件
- Datatable Javascript链接在第2页不起作用
- 如何将href与javascript链接
- Javascript链接和变量替换
- Javascript链接使目标为空
- 外部JavaScript链接不起作用
- 鼠标光标改变Javascript链接的DIV
- Action使用Javascript链接并将值传递给控制器
- Javascript链接-试图设置元素值-奇怪的行为chrome&安卓
- 如何在没有onClick的情况下使用Javascript链接
- Javascript根据屏幕大小编写新的Javascript链接
- 更新用户's使用PHP或JavaScript链接
- JavaScript链接提取器
- javascript链接使页面在单击时向上
- 使用javascript链接样式
- 触摸设备的JavaScript链接预览
- Jquery javascript 链接含义