日期:2014-05-16  浏览次数:20358 次

javascript语句疑问
function fnAdd(n){
  return n?n*agurments.callee(n-1):1;
}
var n =fnAdd(5);
alert(n);
谁能告诉我这return返回的是什么意思,有“?”、有“:”这些符号代表什么意思啊?

------解决方案--------------------
三元运算符,
比如这个例子,给y赋值
JScript code

            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
------解决方案--------------------
JScript code

return n?n*fnAdd(n-1):1