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

有关变量的声明问题,求大神给解答下。谢谢!

<script type="text/javascript">

  function  app2(x,y)

  { var sum,x,y;

    sum = x * y;

    return sum;

  }

 req1 = app2(5,6);

// var req1 = app2(5,6);

 req2 = app2(2,3);

// var req2 = app2(2,3);

 sumq = req1+req2;

// var sumq = req1+req2;

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

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

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

</script>

问题:req1、req2、sumq这三个变量,声明和不声明对运行结果都没有影响,这两者有什么区别吗?在使用的过程中有什么前提吗?

正在回答

3 回答

 req1 = app2(5,6);

// var req1 = app2(5,6);

 req2 = app2(2,3);

// var req2 = app2(2,3);

 sumq = req1+req2;

// var sumq = req1+req2;

以上这段代码,不管你用var声明还是不声明,这两种写法都是全局变量,没什么区别,因为是在函数外。

  function  app2(x,y)

  { var sum,x,y;

    sum = x * y;

    return sum;

  }

这段代码里面的三个变量均为局部变量。在函数里面用var声明了的变量就是局部变量。

  function  app2(x,y)

  { 

    return  x * y;

  }

如果是这样写的话,当app2()这个函数被调用时,x,y都是全局变量,因为没用var声明。

全局变量就是在代码里哪都能被调用,局部变量只能在某个范围内使用(如某个函数里使用)。


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

在函数里没用var声明的变量,当函数被调用时就会变成全局变量,在函数里使用var声明了的变量,就是局部变量。在函数外用var声明和没声明的变量都是全局变量。

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

这三个变量如果不声明,也是可以直接给它赋值的,但是当给这三个没声明的变量赋值的时候,javaScript引擎就会自动把这个变量变成全局变量了,而本身你声明的变量也是全局变量,所以没有影响。

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

举报

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

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

进入课程

有关变量的声明问题,求大神给解答下。谢谢!

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