簡體   English   中英

Jshint - 變量已經定義並且缺少javascript對象的分號

[英]Jshint - Variable is already defined and missing semicolon of a javascript object

我在一個函數中將一個reason變量定義為javascript對象,然后使用該對象定義屬性如下:

$scope.upsertReason = function() {
    var reason = {},
        reason.reasons = [],
        reason.scholarships = [];
}

我不知道為什么我總是遇到以下錯誤:

412 |            reason.reasons = [],
                       ^ 'reason' is already defined.
412 |            reason.reasons = [],
                       ^ Missing semicolon.
412 |            reason.reasons = [],
                       ^ Expected an identifier and instead saw '.'.
412 |            reason.reasons = [],
                       ^ Expected an assignment or function call and instead saw an expression.
412 |            reason.reasons = [],
                        ^ Missing semicolon.
413 |            reason.scholarships = [];
                                        ^ Expected an assignment or function

我已經驗證我沒有在代碼中的任何其他地方定義reason變量。 任何幫助,將不勝感激。

您不能使用var語句聲明對象的屬性,因為var語句要求變量名稱不包含無效字符。 並且. 絕對是標識符名稱的無效字符。 因此,您無法聲明名為reason.reasonsreason.scholarships的新變量。

你應該聲明reason

var reason = {
    reasons: [],
    scholarships = []
};

就像thefourtheye所說,你可以這樣做:

var reason = {
    reasons: [],
    scholarships = []
};

或者,如果您想單獨完成所有操作,您可以:

var reason = {};
reason.reasons = [];
reason.scholarships = [];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM