1
有時我會看到兩種不同的方式來定義函數參數的默認值。
第一個是重新定義這樣的參數值:將函數參數定義爲局部變量
var callName1 = function(name) {
name = name || 'John';
console.log('Hello, ' + name);
};
第二個是定義具有相同名稱的本地變量:
var callName2 = function(name) {
var name = name || 'John';
console.log('Hello, ' + name);
}
的這個方法兩者都工作是相同的。
所以,我有兩個問題:
1)第二種方式定義具有相同名稱的局部變量有什麼意義?
2)哪種方法更正確?
由於函數中已經定義了'name',並且不需要重新定義,所以第一個更加正確。另一方面,在ES6中,您可以通過默認參數值避免這兩種用法,例如'var callName1 = function(name =「John」){...' – Redu
基本上沒有區別,但是當您嘗試時儘管將代碼轉化爲一些優化器,但讓它變得容易讓它變得混亂。 – Dellirium