|
|
|
|
|
Uncaught SyntaxError: redeclaration of ... 是重聲明錯誤類型,在上一文中我進行了分析記錄[解決]Uncaught SyntaxError: Identifier '...' has already been declared,這是因為某個變量名稱已經(jīng)作為函數(shù)參數(shù)出現(xiàn)了,但是又使用了 let
在函數(shù)體里重聲明了。在JavaScript 中不允許使用let
在相同的函數(shù)或塊范圍內(nèi)重新聲明相同的變量。
下面示例,分析了 SyntaxError: redeclaration 這個問題。
在本例中,參數(shù) "arg" 又重新聲明了:
function f(arg) {
let arg = "foo";
}
輸出:
SyntaxError: redeclaration of formal parameter "arg"
如果要更改函數(shù)體中的“arg”的值,可以像下面一樣,但不需要再次聲明同一個變量。 換句話說:你可以省略 let
關(guān)鍵字。 如果要創(chuàng)建一個新變量,則需要將其重命名,因為其與函數(shù)參數(shù)有沖突。
function f(arg) {
arg = "foo";
}
function f(arg) {
let bar = "foo";
}
參考文章