簡體   English   中英

將方法添加到javascript中的方法

[英]Adding methods to methods in javascript

我正在使用Backbone,但是我覺得這更多是一個通用的JavaScript語法問題。
如何在方法內部添加方法(或在函數內部添加函數)並通過鏈接兩者來調用它們?

var myModel = Backbone.Model.extend({

    method1: function(x){
        method2: function(y){
            return x*y;
        }
    }

    // or perhaps
    method1: function(x){
        {
            method2: function(y){
                x = x*y;
            }
        }
        return x;
    }
});

var mymodel = new myModel();
mymodel.method1(3).method2(5); // outputs 15

通常,通過返回原始對象來實現鏈接。

var myModel = Backbone.Model.extend({
    methodSub: function(x){
        this.x -= x;
        return this;
    },
    methodAdd: function(y){
        this.y += y;
        return this;
    }
});

或類似這樣:(但實際上它是另一個對象,應適當定義)

var myModel = Backbone.Model.extend({
    methodSub: function(x){
        this.x -= x;
        return {
             x : this.x,
/*           val : this.x, Or simply val, if that seems appropriate */
             methodAdd: function(y){
                this.x += y;
                return this;
             }
        }
    }
});

不知道它們是否是您想象的方式。 但從本質上講,您必須返回某些東西來鏈接某些東西。 否則,該方法將返回undefined,並且您不能在undefined上調用方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM