关于返回值

关于返回值

var x=0,y=undefined;
console.log(x && y);

这个为什么返回值是0,不是只要有一个是undefined返回值就是undefined吗

正在回答

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

2回答

http://img1.sycdn.imooc.com//climg/5a153e8100013bc810230607.jpg这是要遵循第二条规则:0和undefined隐式转化后都是false,所以它俩谁在前面,就返回谁。

如果运算的时候,只有一个操作数隐式转换后是false,其他的都是true,那么就返回这个转化后为false的操作数。就可以遵循下面的这个规则

http://img1.sycdn.imooc.com//climg/5a1540b000019e7d07040356.jpg

幕布斯1065030 2017-11-22 15:56:52

如果第一个操作数的隐形类型转换后为false,则返回第一个操作数。

如果一个操作数是undefined则返回undefined。

应该是优先级的原因把,第一条的优先级大于第二条。

我是这么理解的 不知道对不对

  • 提问者 慕莱坞0322368 #1
    我把x和y换个位置返回值就变成了undefined,说明undefined得放在前面,NaN也是这样的,但是视频里NaN明明放在第三个值返回值是NaN,满足只要一个是NaN返回值就是NaN啊,但是第一个操作数为零情况就变了
    2017-11-22 16:22:18
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

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

在线咨询

领取优惠

免费试听

领取大纲

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