Javascript 像jQuery一样对函数结果调用函数

Javascript 像jQuery一样对函数结果调用函数,javascript,jquery,object,Javascript,Jquery,Object,我试图构建两个函数,使其工作方式与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

我试图构建两个函数,使其工作方式与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对象,该对象包含所选节点的集合,其原型具有
.attr
.css

数组将从函数
func
返回,我知道,我在问如何正确地执行它,这样它才能工作。