我正在尝试构建两个函数,使其像 jQuery 函数一样工作,例如: jQuery( 'select').val();
这有效:
function func(a) {
console.log(1);
return a;
}
func.sub = function(n) {
console.log(2);
}
func.sub(2);
但这不是:
function func(a) {
console.log(1);
return a;
}
func.sub = function(n) {
console.log(2);
//return func result[n];
}
func([1,2,3]).sub(2);
如何使第二个代码工作并读取 sub() 上的 func() 结果?
最佳答案
您需要让 func
返回一个具有 sub
方法的对象。
function Subbable(x) {
this.value = x;
}
Subbable.prototype.sub = function(b) {
return this.value - b;
}
function func(a) {
return new Subbable(a);
}
func(10).sub(2)
// 8
jQuery 的 $(...)
通常返回一个 jQuery 对象,其中包含所选节点的集合,其原型(prototype)具有所有不错的功能,例如 .attr
和.css
.
关于javascript - 像 jQuery 一样在函数结果上调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35693708/