请问为什么这段代码执行后,第2段document不换行?

请问为什么这段代码执行后,第2段document不换行?

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

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

</head>

<body>

    <script>

        var x=NaN,y=undefined,z=1,

            m=1,n="0",j=33,

            a=!(!undefined),b=!0;

            document.write(x||y||z+"<br/>");

            document.write(m||n||j+"<br/>");

            document.write(a||b+"<br/>");//补充代码

    </script>

</body>

</html>


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

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

4回答
好帮手慕糖 2019-09-27 18:52:56

你好,如下,这是一个语句,m这里都返回了,后面就不执行了呀,br这里也是执行不到的哦。

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

祝学习愉快!

好帮手慕糖 2019-09-27 15:20:22

同学你好,这个并不是语法错误,这个是它执行的逻辑问题哦。主要是能够理解这个执行过程就好了哦。

祝学习愉快!

  • 提问者 慕设计656509 #1
    老师你好,我想法是就算第一个m是true之后就不执行也只是不再判断n和j,也不会影响到<br/>不执行呀,就是象不太明白,好纠结。。。
    2019-09-27 18:33:24
好帮手慕糖 2019-09-27 14:32:32

同学你好,是如下这样吗?这个相当于输出两个语句,前面的是一个,逗号后面是一部分,所以执行了逗号前的,还会输出逗号后面的。

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

祝学习愉快!

  • 提问者 慕设计656509 #1
    那就是说明了这里用“+”号不输出后面的是语法上的错误所以不换行是吗?
    2019-09-27 14:38:13
好帮手慕糖 2019-09-27 10:43:34

同学你好,输出语句中的换行没有执行,是因为第一个m是true,所以就直接输出了,后面的没有执行。所以没有换行哦。

建议:要实现换行的话,可以单独输出一个换行哦,例:

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

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

祝学习愉快!

  • 提问者 慕设计656509 #1
    但是我看到有人把“+”号改成","号,换行输出就正常了,请问这种又是什么操作?
    2019-09-27 11:15:44
  • 提问者 慕设计656509 #2
    但是我看到有人把“+”号改成","号,换行输出就正常了,请问这种又是什么操作?
    2019-09-27 11:16:01
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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