2017-02-06 31 views
0

有沒有一種方法,我可以在finally塊中定義年齡而不使用var關鍵字?我沒有找到辦法做到這一點,我覺得有點奇怪,所以我假設有一種方法。如何範圍嘗試聲明到finally塊也?

try{ 
    let age=prompt("What is your age?"); 
    if(age<=0){ 
     throw new Error("Your age can not be " + age + " please type your real age."); 
    } 
    else if(typeof age==="string"){ 
     throw new Error("What is not a number please type a number"); 
    } 
    else if((age % 1) != 0){ 
      throw new Error("Please type an whole number"); 
    } 
} 
catch(e){ 
    console.log(e) 
} 
finally{ 
    parseInt(age);// age come up as undefined 
} 
+3

在try之外聲明它。 –

+1

'prompt'返回一個字符串。什麼不是數字。 – traktor53

回答

1

沒有理由把提示try裏面,只需要聲明的是外面的變量。如果需要,您仍然可以使用塊進行本地範圍設定。

{ 
    let age =prompt("What is your age?"); 
    try { 
     … 
    } catch(e) { 
     console.log(e) 
    } 
    console.log(parseInt(age)); 
}