function age(firstnum) {
if (typeof firstnum === "number") {
return firstnum = firstnum * 12;
}
if (typeof firstnum === "number") {
return firstnum = firstnum * 30;
}
}
console.log(age(15));
console.log(age(15))
**我想讓代碼以單獨的方式和相同的功能作業**
uj5u.com熱心網友回復:
您可以使用建構式,在其中您可以創建其他函式來完成這項作業
function getAge(){
this.ageOne = function(age){
return age * 12;
}
this.ageTwo = function(age){
return age * 30
}
}
const myAge = new getAge();
console.log(myAge.ageOne(15))
console.log(myAge.ageTwo(15))
uj5u.com熱心網友回復:
如果滿足第一個條件,您的函式將回傳該值。
如果您想檢查一個數字,您可以使用提前回傳,或者如果它不是一個數字,則回傳其他內容,例如:
function age(firstnumber) {
if (typeof firstnumber=== "number") {
return firstnumber* 12 * 30;
} else {
return "not a number"
}
}
console.log(age(15));
console.log(age("abc"));
結果:
5400
"not a number"
我建議使用更好的變數名。該函式age沒有告訴我們該函式在做什么。變數名firstnumber并沒有告訴我們這個數字是什么。
另一種方法是使用兩個函式(如@webCatDev 在其 getAge 函式中所示) - 下面的更簡單的代碼:
function age1(firstnum) {
if (typeof firstnum === "number") {
firstnum = firstnum * 12;
}
return firstnum
}
function age2(firstnum) {
if (typeof firstnum === "number") {
firstnum = firstnum * 30;
}
return firstnum
}
console.log(age1(15));
console.log(age2(15));
再次告訴我們目標是什么。
uj5u.com熱心網友回復:
這可以通過靜態計數器的閉包來實作此行為:
const age = (() => {
let counter = 1;
return function (firstnum) {
counter;
if (counter % 2 === 0 && typeof firstnum === "number") {
return firstnum = firstnum * 12;
}
if (counter % 2 === 1 && typeof firstnum === "number") {
return firstnum = firstnum * 30;
}
}
})();
console.log(age(15));
console.log(age(15));
您還可以將臨時結果添加到閉包中:
const age = (() => {
let counter = 1;
let temp = null;
return function (firstnum) {
if (temp === null) temp = firstnum;
counter;
if (counter % 2 === 0 && typeof firstnum === "number") {
return temp = temp * 12;
}
if (counter % 2 === 1 && typeof firstnum === "number") {
return temp = temp * 30;
}
}
})();
console.log(age(15));
console.log(age(15));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/450479.html
標籤:javascript
