- JavaScript
- 不支源函式 Overloading (多載) 的功能
function UserInfo (){
console.log('Lyndon, 30');
}
function UserInfo (name){
console.log(name, '30' );
}
UserInfo();
- Result:如同 JavaScript 的特性,後面的 function 取代前面的 function
- JavaScript - arguments
- 函數的參數是以類似陣列的物件所維護。在函數內部,如下定位傳遞給函數的參數︰
arguments[i]
- i 是參數的順序編號,從 0 開始
- 使用 arguments.length 來得知實際傳給函數的參數數目
function UserInfo(separator) {
var result = "";
for (var i = 1; i < arguments.length; i++) {
result += arguments[i] + separator;
}
console.log(result);
}
UserInfo(',', 'Lyndon', 'Ken', 'May');
UserInfo('|', 'Lyndon', 'Ken', 'May');
UserInfo('-', 'Lyndon', 'Ken', 'May');
- 使用 arguments 來解決 Overloading 問題
function UserInfo() {
if (arguments.length == 0) {
console.log('Lyndon, 30');
} else {
console.log(arguments[0], '30');
}
}
UserInfo();
UserInfo('Ken');
沒有留言:
張貼留言