說我有一個功能:函數中定義的函數參數是否與封閉函數的參數相同時會產生錯誤?
function hi(message) {
return message;
}
而且我有一個函數中的一個函數:
function hi(message) {
function say(message) {
return message;
}
say("hello");
}
hi("sup");
執行參數惹對方,如果他們是一樣的嗎?
說我有一個功能:函數中定義的函數參數是否與封閉函數的參數相同時會產生錯誤?
function hi(message) {
return message;
}
而且我有一個函數中的一個函數:
function hi(message) {
function say(message) {
return message;
}
say("hello");
}
hi("sup");
執行參數惹對方,如果他們是一樣的嗎?
內部函數參數將隱藏外部函數參數。
不會有任何錯誤。
那麼,直到遮遮掩掩令某人困惑時,纔會有任何錯誤,當然:) – 2011-05-10 17:26:36
號
// let this be message #1
function hi(message) {
//Inside this scope we have message === #1
// let this be message #2
function say(message) {
// inside this scope we have message === #2
return message;
}
say("hello");
}
hi("sup");
它將按預期工作。
從可讀性/維護的角度來看,我認爲重新使用參數/變量名是不好的。
您還可以在內部功能的#2
變量被遮蔽變量問題#1
這意味着它不可能裏面say
你嘗試訪問
#1
? – SLaks 2011-05-10 17:26:14**歡迎來到StackOverflow!** – 2011-05-10 17:29:31