var a=!(!undefined),b=!0; conlose(a||b);

var a=!(!undefined),b=!0; conlose(a||b);

var a=!(!undefined),b=!0;  conlose(a||b); 为什么放回值是true ,不是应该undefined?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

6回答
慕粉2237372433 2018-05-15 20:43:06

'',undefined,NaN,Null,0.转换布尔值为false

其他都是true.

!使用时先转换为boolean类型再取反.

根据这个推理即可.

其次||.在左侧操作数为true时返回左侧.false返回右侧

Annbest 2018-05-08 11:13:29

首先逻辑非 的返回值类型 一定是布尔类型的值,     a经过计算 最后结果是true ,

所以  逻辑与  直接返回a的值 true

爱因斯塔克 2018-05-02 16:12:01

undefined是flase 所以!undefind是true 最后 a=!(!undefind)为flase;

0是flase 所以!0为true;

打印a || b ,因为a是flase,所以返回第二个操作符,第二个操作符是true,因此结果是true。

  • 不对呀,首先"因为a是flase,所以返回第二个操作符" 这个的前提是有一个操作数不是布尔值的情况下, a,b 都为布尔值
    2018-05-06 19:00:06
嘿曼 2018-04-10 22:22:35

首先,变量a为flase,所以会继续往下读取,b为true,所以返回值为true,

其次,逻辑非只会返回布尔值,即true或flase,不会返回undefined。

怎么都被占用了呢 2018-04-01 13:54:26

undefined在布尔环境中是false

库恩Kuhn 2018-03-31 15:35:55

!undefined=true;

!true=false;

!0=true;

false||true=true;

  • 提问者 慕勒0058526 #1
    undefined是false吗?
    2018-04-01 00:23:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师