请老师帮忙看下为什么我的第一个返回值是0不是undefined呀

请老师帮忙看下为什么我的第一个返回值是0不是undefined呀

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>逻辑操作符</title>

</head>

<body>

    <script>

var x=0,y=undefined,m=1,n="imooc";

console.log(x&&y);

console.log(m&&n);

</script>

</body>

</html>


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

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

2回答
好帮手慕糖 2019-07-22 09:43:28

同学你好,这个是有前提的,就是前面的操作数是要为true的情况下,例:

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

希望能帮助到你,祝学习愉快!

好帮手慕糖 2019-07-21 18:35:33

同学你好,这里还要具体分下情况哦。

1、如果第一个操作数是undefined的话,就会返回undefined。

2、如果第一个操作数不是undefined,要看第一个数转化成布尔值是true还是false,如果是true,就会看第二个操作数,如果是false,就会直接返回第一个操作数。

在&&中操作数会进行隐式转化成布尔值,0转化成布尔值为false:

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

所以第一个操作数就不符合,返回的就是第一个操作数。

希望能帮助到你,欢迎采纳。

祝学习愉快!

  • 提问者 Elisa呀 #1
    我记得课上老师说,有一个是undefined,就会返回undefined,有一个是null就会返回null呀;
    2019-07-21 23:43:11
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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