2015-05-04 65 views
-1

任何人都可以解釋我這行代碼,爲什麼我們使用'?'在JavaScript?什麼意思是'?'在Javascript中?

return n > 0 ? ninja.yell(n-1) + "a" : "hiy"; 
+3

如果條件變爲真,表達式會立即執行'?',否則執行':'後的表達式就會被執行..瞭解更多https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator –

+4

看到這個問題:http://stackoverflow.com/questions/6259982/js-how-to-use-the-ternary-operator – samgak

回答

3

這是一個三元運算其也存在於其他編程語言:

return n > 0 ? ninja.yell(n-1) + "a" : "hiy"; 
     ^^  ^^      ^^ 
if condition  if true    if false(else) 

上面的語句是等效於以下:

if(n>0) { 
    return ninja.yell(n-1) + "a"; 
} else { 
    return "hiy"; 
} 

更多read this tutorial

1

問號實際上被稱爲Ternary Operator,通常是在編程。語言是用於一行if語句,它具有以下結構:

條件?返回如果條件爲:如果條件是返回False

想想三元運算符爲 「然後」 和 「」 爲其他。所以你的代碼將是:

return if(n > 0) then ninja.yell(n-1) + "a" else "hiy"; 

希望你現在得到它!

相關問題