Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Wenn eine Methode externe Daten verwenden muss, sollten Sie diese als Parameter übergeben oder die Daten als globale Variable relativ zum aktuellen Bereich speichern ~

var test = {
    init: function () {
        var data = $rootScope.test;
        
        if(data) {
            ……
            this.method(data);
        } 
    },
    
    method: function (data) {
        console.log(data);
    }
};

immer noch

var test = {
    data: $rootScope.test,
    
    init: function () {
        if(this.data) {
            ……
            this.method();
        } 
    },
    
    method: function () {
        console.log(this.data);
    }
};

Welche Methode ist die beste Vorgehensweise

Was ist zu tun, wenn in der ersten Methode zu viele Ebenen übergeben werden müssen? Nach der Übergabe gibt es [n] Methoden -> Methode2 -> Methode3. Dies erfordert einen Durchgang der ersten Ebene

Es gibt auch zwei Methoden. Welche hat eine höhere Leistung? Die zweite Methode entspricht dem Abrufen der Eigenschaften des Objekts jedes Mal. Scheint die Leistung der direkten Übergabe von Parametern schlechter zu sein? ~

女神的闺蜜爱上我女神的闺蜜爱上我2663 Tage vor814

Antworte allen(3)Ich werde antworten

  • 三叔

    三叔2017-07-05 11:02:45

    传递,全局变量少用

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-07-05 11:02:45

    你的例子里不算全局变量!

    挂在对象的属性上,不会影响到方法内部变量的使用!也不会污染作用域!

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 11:02:45

    你这里实现的不是全局变量,只是挂在到了对象的属性上,还有这里何必要申明一个变量呢,并没有看到你实际操作这个data,如果只是想引用一下值得话,那么直接用$rootScope.test不就好了?

    Antwort
    0
  • StornierenAntwort