首页 > 代码库 > js学习笔记(二)关于函数的 全局变量 和 局部变量 示例
js学习笔记(二)关于函数的 全局变量 和 局部变量 示例
全局变量(示例)
<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学习笔记(二)关于函数的 全局变量 和 局部变量 示例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。