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

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

当我尝试执行此操作时,在声明/创建对象时出现错误“ SyntaxError:意外的标识符”。

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);,并且在控制台中都返回相同的Unexpected identifier错误,并且未创建Radial对象。当我取出if条件时,一切正常。

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

最佳答案

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

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


必须为var。另外,对象文字应为

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

10-05 23:03