将条件语句放在类构造函数中

时间:2017-03-23 01:01:38

标签: javascript class object

我正在尝试创建一个具有可选参数的类。

是否可以添加条件,例如if(!(degrees === undefined)) {this._items.degree = degrees}

当我尝试这样做时,我在声明/创建对象时收到错误“SyntaxError:Unexpected identifier”。

var element = {
    degree = 0;
}

var Radial = function(items, degrees) {
    this._items = itemsfunction(); //_items is an element structure the function makes and returns the element
    if (!(degrees===undefined)) { //where the error occurs
        for (int i = 0; i<this._items.length; i++) {
            if (!(degrees[i]===undefined)) {
                this._items[i].degree = degrees[i];
            } else {
                this._items[i].degree = 0;
            }
        }
    }
};

以上是我的构造函数

我将其声明为radial = new Radial(item, degrees);radial = new Radial(item);,并且两者都在控制台中返回相同的意外标识符错误,并且未创建Radial对象。当我拿出if条件时,一切正常。

我做错了什么?我是javascript类的新手。

1 个答案:

答案 0 :(得分:4)

您的问题不在于条件,而是在下面一行:

for(int i = 0; i<this._items.length; i++){
//  ^^^

那需要var。此外,对象文字应该是

… {
    degree: 0
}; //     ^^^^