javascript - 方法要用到一個外部的資料 那麼是優先選擇當成參數傳過去 還是把資料存成相對當前作用域來說全域的變數~
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-07-05 11:00:45
0
3
796
var test = {
    init: function () {
        var data = $rootScope.test;
        
        if(data) {
            ……
            this.method(data);
        } 
    },
    
    method: function (data) {
        console.log(data);
    }
};

還是

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

哪種方式是最佳實踐

如果第一種方式要傳遞的層級過多怎麼辦例如開始是init 調method 傳過去之後有method[n] 種執行順序是init -> method -> method2 -> method3 這樣的要一級一級傳嗎…

還有就是兩種方法那種性能高些呢 第二種每次取值都相當於取對象的屬性 表像上直接傳參性能會跟憂些? ~

女神的闺蜜爱上我
女神的闺蜜爱上我

全部回覆(3)
三叔

傳遞,全域變數少用

淡淡烟草味

你的例子裡不算全域變數!

掛在物件的屬性上,不會影響到方法內部變數的使用!也不會污染作用域!

曾经蜡笔没有小新

你這裡實現的不是全域變量,只是掛在到了物件的屬性上,還有這裡何必要申明一個變數呢,並沒有看到你實際操作這個data,如果只是想引用一下值得話,那麼直接用$rootScope.test不就好了?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!