簡體   English   中英

將值分配給函數的隱式聲明的局部變量被認為是不好的做法?

[英]It is considered bad practice to assign a value to an implicitly declared local variable of a function?

問題:將值分配給函數的隱式聲明的局部變量被認為是不好的做法? 如果是這樣,分配一個隱式聲明的局部變量的最佳方法是什么

function foo(baz) {
  baz = 3;  //this is implicitly declared by the function's argument baz


}
foo()

我不會說這是一種不好的做法(因為有害),只是不是一種好的做法。 一個有益的效果是將代碼長度減少了4個字符,因為它代替了函數中的變量聲明。 這僅適用於第一個變量,此后沒有任何好處,如果聲明了其他變量,則有零好處。

但是,代碼的可讀性受到影響,並且不必要地混淆了函數簽名,例如

function foo(bar) {
  /* some code */
}

使用戶想知道應該傳遞給bar的內容,而:

function foo() {
  var bar;
  /* some code */
}

明確表明foo不接受任何參數。

形式參數在聲明之前進行處理,但是我看不到任何好處或副作用。

我認為這沒什么用。 因為傳遞的值無關緊要,所以只要用您想要的值覆蓋它即可。 因此,這不是一個壞習慣,只是一個無用的功能。 請不要冒犯。

那使我想起:

function random_number() {
    return 7;
}

暫無
暫無

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

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