JS中变量后面有个问号是什么意思?
returnn?n*arguments.callee(n-1):1;JS中变量后面有个问号是什么意思?然后后面一个:1又是什么意思?...
return n?n*arguments.callee(n-1):1;
JS中变量后面有个问号是什么意思?然后 后面一个:1又是什么意思? 展开
JS中变量后面有个问号是什么意思?然后 后面一个:1又是什么意思? 展开
3个回答
展开全部
这个是三元操作符,它在每一种语言中的功能和语法都是一样的。
举例:int a=3;int b=5;
int c= a>b?1:0;
解释:a大于的话,c就等于1,否则的话c等于0;
?是判断的意思,: 是否则的意思。
扩展资料:
三元操作符格式
如名字表示的三元运算符需要三个操作数。
语法为:条件表达式?表达式1:表达式2。
说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。
其逻辑为:“如果条件表达式成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)。
参考资料来源:百度百科-三元运算符
展开全部
问号与冒号要连在一起看。它们是完整的运算符。
如A=(B)?C:D
表示B不为0吗(或B为真吗)?如果是,A=C;如果不是,A=D。
对于你的例子,表示当n不为0时,返回n*arguments.callee(n-1);否则,返回1。
如A=(B)?C:D
表示B不为0吗(或B为真吗)?如果是,A=C;如果不是,A=D。
对于你的例子,表示当n不为0时,返回n*arguments.callee(n-1);否则,返回1。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是三元操作符,它在每一种语言中的功能和语法都是一样的。
举例:int a=3;int b=5;
int c= a>b?1:0;
解释:a大于的话,c就等于1,否则的话c等于0;
?是判断的意思,: 是否则的意思。
在你的例子应该解释为这样:判断n是否为真(即a是否大于0),真的话返回n*arguments.callee(n-1) 否则的话返回1.
一般语法中规定,整型变量大于0为真,小于等于0为假;
貌似你这个涉及到阶乘算法。
举例:int a=3;int b=5;
int c= a>b?1:0;
解释:a大于的话,c就等于1,否则的话c等于0;
?是判断的意思,: 是否则的意思。
在你的例子应该解释为这样:判断n是否为真(即a是否大于0),真的话返回n*arguments.callee(n-1) 否则的话返回1.
一般语法中规定,整型变量大于0为真,小于等于0为假;
貌似你这个涉及到阶乘算法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询