问答详情
源自:5-6 编程练习

为什么不能用document.write输出一定要用return,而且显示结果是这种样子:

为什么不能用document.write输出一定要用return,而且显示结果是这种样子:

5 5 和 4 的较大值是:undefined
6 6 和 3 的较大值是:undefined


<script type="text/javascript">


//定义函数

function comp(a,b){

        if(a>b){

             document.write(a);

        }

        else if(a == b){

             document.write(a);

        }

        else{

           document.write(b);

        }

        

    }

//调用函数,实现下面两组数中,返回较大值。

  document.write(" 5 和 4 的较大值是:" + comp(5,4) + "<br>");

  document.write(" 6 和 3 的较大值是:" + comp(6,3)); 


</script>


提问者:gir1ike 2016-02-05 06:00

个回答

  • 苏以
    2016-02-05 10:08:45

    document.write() 赋值 哪里 说错了 

  • 苏以
    2016-02-05 10:00:03

    document.write()只是输出的作用,你需要给document.write()赋值这样才会有效果,例如:var p = document.write(); 这样也是可以输出的。 理解的我习惯拿java去理解 ,p是一个对象,document.write()相当于这个对象说的一句话,如果你不把这句话赋予一个人的话,就不知道是谁说的所有理解不来为undefined(相当于不知道是谁说的),return 是有两种作用,第一返回当前的值,相当于会把你所做的一个公式的最后结果 (=)等号出来,第二个作用是 : 在这个函数中  当运行到return时候 这个函数结束了 ,当前函数运行结束,不管下面还有没有 代码,所有 运用的时候 要注意这点 ,想好在哪里 写return 。 语言方法和属性 一定要 是 对象 才拥有的 ,要不然就会理解不聊的 。

  • 码喵
    2016-02-05 09:47:00

    你没有明白“document.write()”语句的作用。

    在函数里使用这条语句。函数执行完之后是没有返回值的,所以comp()执行完之后是啥结果都没有的,为undefined。

    简单地说:document.write这语句在函数里就被“消化”掉了,“渣”都没有。