码迷,mamicode.com
首页 > Web开发 > 详细

js学习笔记(二)关于函数的 全局变量 和 局部变量 示例

时间:2016-09-19 19:23:53      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

全局变量(示例)

<script>
function square(num)              /*传递参数*/
{
    total = num * num;            /*定义全局变量*/
    return total;                 /*返回数值total*/
}
var total = 50;                   /*定义全局变量total*/
var number  = square(20);         /*引用square(参数)赋值给number*/
alert(total);
alert(number);
</script>

如果没有使用 var,变量就将被视为一个全局变量,如果脚本里已经存在一个与之同名的全局变量,这个函数就会改变那个全局变量的值。

square函数中 total没有做var声明,所以是一个全局变量。square函数外同样有一个已经声明了的total变量。由于使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量。(全局变量声明方法之一)

由于脚本中已经存在了一个全局变量。square函数中的total(num*num赋值给total;num等于number引用square(参数)参数是20。所以是400)值将改变外部全局变量的值!

 

局部变量(示例)

<script type="text/javascript">
function square(num)
{
    var total = num * num;  /*乘法运算赋值给局部变量total*/
    return total;       /*返回值给total*/
}
var total = 50;         /*全局变量total等于50*/
var number     = square(20);/*引用square(参数)给number*/
alert(total);
alert(number);
</script>

square函数中的total声明了局部变量。函数外部虽然也声明了的total变量。但是它们是两个完全不同的变量。一个是局部变量;一个是全局变量。这就好像是同一个人有相同的名字,但是本质上他们是完全不同的两个人!

由于square函数内部引用了外部全局变量total。所以输出值是50!number输出是400.因为全局变量number引用了square(参数)并且赋值给number。所以square函数内部的 num*num乘法运算是赋值给number的。

js学习笔记(二)关于函数的 全局变量 和 局部变量 示例

标签:

原文地址:http://www.cnblogs.com/zhengfuheidao/p/5885975.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!