为什么我无法访问静态变量?

时间:2017-04-12 06:05:45

标签: javascript oop requirejs

define([],function(){


    let Journal = function(list) {
        //static var
        var pilots = [];
        this.findLaynerpilots = function findLaynerpilots(arr) {
            let pilots = arr || pilots
            return pilots.filter(function (item) {
                return item.is_pilot_of_plane
            })

        };
return new Journal;
}

为什么没有定义飞行员?

1 个答案:

答案 0 :(得分:1)

我建议你在飞行员的情况下使名字不同。 let pilots = arr || pilots看起来令人困惑。您可以将内部 pilots重命名为pilots_

或使用var self=this带来正确的pilots

define([],function(){    

    let Journal = function(list) {            
        let self = this;
        self.pilots = [];
        this.findLaynerpilots = function findLaynerpilots(arr) {
            let pilots_ = arr || self.pilots
            return pilots_.filter(function (item) {
                return item.is_pilot_of_plane
            })

        };
return new Journal;
}