javascript语句疑问
function fnAdd(n){
return n?n*agurments.callee(n-1):1;
}
var n =fnAdd(5);
alert(n);
谁能告诉我这return返回的是什么意思,有“?”、有“:”这些符号代表什么意思啊?
[解决办法]
三元运算符,
比如这个例子,给y赋值
var x = 1; var y; if( x == 1 ){ y = 100 } else { y = 0 }
[解决办法]
n?n*agurments.callee(n-1):1; 这其实是一个三元表达式的写法,意思是说 问n 等于不等于 空, 如果不等于空那就return n*agurments.callee(n-1) 的值, 否则就return "1 " 比如如果测试 n=fnADD(5) 结果=return n*agurments.callee(n-1) 如果n=fnADD(0) 结果=return 1
[解决办法]
return n?n*fnAdd(n-1):1