方法要用到一个外部的数据 那么是优先选择当成参数传过去 还是把数据存成相对当前作用域来说全局的变量~

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 这样的 要一级一级传吗……

还有就是两种方法那种性能高些呢 第二种每次取值都相当于取对象的属性 表象上直接传参性能会跟忧些?~


慕桂英4014372
浏览 537回答 1
1回答

三国纷争

你的例子里不算全局变量!挂在对象的属性上,不会影响到方法内部变量的使用!也不会污染作用域!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript