【问题标题】:Putting conditional statement in class constructor在类构造函数中放置条件语句
【发布时间】:2017-03-23 01:01:38
【问题描述】:

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

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

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

【问题讨论】:

  • 错误可能是对象道具分配中的=。应该是:

标签: javascript class object


【解决方案1】:

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

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

那必须是var。此外,对象文字应该是

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    相关资源
    最近更新 更多