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

调用函数遇到的问题

 【1】function com(a,b){

    var c;

     if(a>b) c=a

     else c=b

     document.write(c);

 }

  com(3,4)

 //document.write(com(3,4))

 //document.write(c(3,4))

 //alert(com(3,4))

 //alert (c(3,4))

正常输出,结果为4

【2】function com(a,b){

    var c;

     if(a>b) c=a

     else c=b

     document.write(c);

 }

  //com(3,4)

 document.write(com(3,4))

 //document.write(c(3,4))

 //alert(com(3,4))

 //alert (c(3,4))

结果为4undefined  为什么不能用document.write输出?4又是从哪冒出来的?

【3】function com(a,b){

    var c;

     if(a>b) c=a

     else c=b

     document.write(c);

 }

  com(3,4)

 //document.write(com(3,4))

 //document.write(c(3,4))

 alert(com(3,4))

 //alert (c(3,4))

输出4,弹出undefinde   为什么?!

百思不得其解,所以请教大家。

正在回答

1 回答

[2]中的答案4undefined中,4undefined是document.write(com(3,4))的值,这个是嵌套执行的,先执行com(3,4),返回值自然是4,然后执行document.write(),打印com(3,4)是没有返回值的,默认为undefined,所以结果当然是undefined喽。

[3]和[2]类似,在函数体里是document.write(c),输出当然是4,弹出是对于com(3,4)的返回值来说的。

一定要注意输出值和返回值是两个不同的概念。

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

云林雨 提问者

非常感谢!
2016-06-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468375    人
  • 解答问题       21893    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

调用函数遇到的问题

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