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

新手函数问题

<script type="text/javascript">

  function  app2(x,y){ 

    //var sum,x,y; 这里为什么还要声明一次x,y? 函数app2 不是已经有参数 x 和y了吗

    sum = x * y;

    return sum;

  }

 var req1=app2(5,6);

 var req2=app2(2,3);

 var sumq=req1+req2;


document.write("req1的值:"+req1+"<br/>");

document.write("req2的值:"+req2+"<br/>");

document.write(req1+"与"+req2+"和:"+sumq);

</script>


正在回答

4 回答

楼上的都没答在点上。

首先说声明变量,声明了一个变量,也就规定了变量可在哪里使用(即规定了变量的作用域)。

①你在<script>标签中声明的,那他就算是全局变量,当然你不声明直接用也是全局变量。

②你在函数中声明了变量,那他就只能在函数中用,函数调用结束,变量销毁。return的值可以给外部使用。

③外部函数不可以使用内部函数变量,内部可以使用外部函数的;但内外同名时,只使用内部(即变量先从内部函数向外查找)。

再说这里的var sum,x,y;x,y是不用声明的,但sum最好声明,主要是避免sum成为全局变量(也就是减少全局变量污染)造成内外函数若出现同名时出现的错误。


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

权耀扬 提问者

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

function app2(x,y){}也可以不要参数,直接写成function app2(){}的,这样不就清楚了,x,y是形参,没有形参也是可以的,那你不就必须在函数内定义了

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

app2中的x,y只是一个形式参数,x,y并没有定义和声明,var sum,x,y;才是在对其进行定义和声明

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

函数app2是有参数x,y,但是这个参数是什么类型呢?就需要在函数内部进行声明,不然你没有定义,不知道参数类型,如何对参数进行操作

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

权耀扬 提问者

在函数内var sum,x,y; sum,x,y是什么类型?
2016-06-08 回复 有任何疑惑可以回复我~
#2

爱java哈 回复 权耀扬 提问者

变量啊
2016-06-08 回复 有任何疑惑可以回复我~
#3

权耀扬 提问者 回复 爱java哈

变量也是类型的一种呗?
2016-06-08 回复 有任何疑惑可以回复我~
#4

好人一生平安_mahy 回复 权耀扬 提问者

变量的类型是根据赋值的内容决定的。如果没赋值就是undefined。
2016-06-09 回复 有任何疑惑可以回复我~
#5

CharlesLvm 回复 权耀扬 提问者

你别听他扯犊子
2016-07-13 回复 有任何疑惑可以回复我~
查看2条回复

举报

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

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

进入课程

新手函数问题

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