为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能用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>


正在回答

3 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

gir1ike 提问者

Q1//函数返回值返回到哪里了 调用函数的地方 类似comp() 意思就是返回值返回到了这里吗 ? Q2//类似这种为什么能够输出正确,这里面也没返回值啊 function add2(x,y) { sum = x + y; document.write(sum); }
2016-02-05 回复 有任何疑惑可以回复我~

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

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

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

1 回复 有任何疑惑可以回复我~
#1

gir1ike 提问者

Q1//函数返回值返回到哪里了 调用函数的地方 类似comp() 意思就是返回值返回到了这里吗 ? Q2//类似这种为什么能够输出正确,这里面也没返回值啊 function add2(x,y) { sum = x + y; document.write(sum); }
2016-02-05 回复 有任何疑惑可以回复我~
#2

码喵 回复 gir1ike 提问者

很简单的例子:var a = add2(1,2)。不考虑其他,a的值必定为undefined,因为add2没有返回值,执行完后是没东西的,但是因为里面的document.write()已经被执行过一次了,就会有输出。如果在add2里面加入“return sum;”的话,a的值就是sum,因为add2返回了这个值,而var a接收(被赋值)了。
2016-02-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信