慕前端025905
2018-10-25 11:05
为什么是true?不应该是false么?
这个是和运算符的优先级有关系,不加括号的写法实际上先运算的是 !numa(返回false,为0),然后对0和numb比较,很显然0<70,所以返回true
如果你加上给numa<numb加上括号的话,优先比较numa<numb,返回true,!true=false。
所以你得到的结果会是true,而不是false。
如果我没讲明白的话,可以去了解一下运算符的优先级哦。
要加个括号
大哥,你这是什么呀:jq1=!numa<numb;
没明白你这样写是什么意思。
数字非0自动转boolean类型时都是true所以!numa为false,然后false<numb比较,false自动转为数值类型0和numb=70作比较,所以最后得到了true;
你这就像是1+5*5为什么30的问题。
打个括号把numa<numb框起来就可以了 jq1=!(numa<numb);
打个括号把numa<numb框起来就可以了
应该是jql!=numa<numb
你这样写可能系统没有识别到,自动认为是等于
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题