JS中变量后面有个问号是什么意思?

returnn?n*arguments.callee(n-1):1;JS中变量后面有个问号是什么意思?然后后面一个:1又是什么意思?... return n?n*arguments.callee(n-1):1;
JS中变量后面有个问号是什么意思?然后 后面一个:1又是什么意思?
展开
 我来答
四舍五不入6
高粉答主

2020-03-22 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2.1万
展开全部

这个是三元操作符,它在每一种语言中的功能和语法都是一样的。

举例: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)。

参考资料来源:百度百科-三元运算符

xyz_clx
推荐于2017-11-23 · TA获得超过150个赞
知道答主
回答量:35
采纳率:0%
帮助的人:57.6万
展开全部
问号与冒号要连在一起看。它们是完整的运算符。
如A=(B)?C:D
表示B不为0吗(或B为真吗)?如果是,A=C;如果不是,A=D。
对于你的例子,表示当n不为0时,返回n*arguments.callee(n-1);否则,返回1。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫竹调OX
2010-07-03 · TA获得超过153个赞
知道答主
回答量:108
采纳率:0%
帮助的人:77.7万
展开全部
这个是三元操作符,它在每一种语言中的功能和语法都是一样的。
举例: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为假;
貌似你这个涉及到阶乘算法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式