js 函数如何使用全局变量

JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍。

操作方法

  • 01

    使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量。该方式即为显式声明详细如下: <script> var test = 5;//全局变量 function a(){ var a = 3;//局部变量 alert(a); } function b(){ alert(test); } //a();//调用a方法,那么方法里面的内容才会执行 //b();//同上 </script>

  • 02

    没有使用var,直接给标识符test赋值,这样会隐式的声明了全局变量test。即使该语句是在一个function内,当该function被执行后test变成了全局变量。 <script> test = 5;//全局变量 function a(){ aa = 3;//也是全局变量 alert(test); } //a();  //输出5 //alert(aa);//这里也可以方法a()方法里面的变量,因为aa是全局变量 </script>

  • 03

    使用window全局对象来声明,全局对象的属性对应也是全局变量,详细如下: <script> window.test = 50; alert(test);//输出50 </script> 这种方式经常被用到一个匿名函数执行后将一些函数公开到全局。 如JQuery1.5中最末一句代码如下: window.jQuery = window.$ = jQuery;

  • 04

    全局变量的优点: 可以减少变量的个数,减少由于实际参数和形式参数的数据传递带来的时间消耗。 全局变量的缺点:(1)全局变量保存在静态存贮区,程序开始运行时为其分配内存,程序结束释放该内存。与局部变量的动态分配、动态释放相比,生存期比较长,因此过多的全局变量会占用较多的内存单元。(2)全局变量破坏了函数的封装性能。函数象一个黑匣子,一般是通过函数参数和返回值进行输入输出,函数内部实现相对独立。但函数中如果使用了全局变量,那么函数体内的语句就可以绕过函数参数和返回值进行存取,这种情况破坏了函数的独立性,使函数对全局变量产生依赖。同时,也降低了该函数的可移植性。(3)全局变量使函数的代码可读性降低。由于多个函数都可能使用全局变量,函数执行时全局变量的值可能随时发生变化,对于程序的查错和调试都非常不利。因此,如果不是万不得已,最好不要使用全局变量。

(0)

相关推荐

  • JavaScript学习之JS对象和函数

    JavaScript 中的所有事物都是对象:字符串.数字.数组.日期,等等. 在 JavaScript 中,对象是拥有属性和方法的数据.本文向大家介绍下JS的对象和函数,这些是JS学习中很重要的一部分 ...

  • 如何在js中动态引入或加载js文件?

    一个网页加载时,js文件一般是通过html中的标签加载的,但有时也会有通过js代码动态引入js文件的需求.下面介绍具体做法. 原理 01 在js中动态引入js文件的核心原理是使用js在html界面上增 ...

  • python中局部变量和全局变量

    局部变量,就是在函数内部定义的变量 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响 局部变量的作用,为了临时保存数据需要在函数 在函数外边定义的变量叫做全局变量 全局变量能够在所有 ...

  • js调用后台方法

    Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为 ...

  • js判断是否是数字类型

    通过js判断文本框内输入的内容是否为数字类型 操作方法 01 创建检查数字类型的js函数 function checkNum(obj){   if(!isNaN(obj.value)){      a ...

  • Webstorm常用快捷键备忘(Webstorm入门指南)

    WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaSscript IDE ...

  • LiteIDE开发工具简明使用指南(Go语言基础学习)

    谷歌系统所使用的编程语言Go,近年来发展的越来越成熟、方便易用。现在,我们可以通过使用LiteIDE让Go语言编程变得更加简单。 第一步 语言基础 数据、类型、函数、控制 Go语言是一个很容易上手同时 ...

  • 如何制作table 一列多行的表格?

    Table控件主要用于在web页面上创建表格,其功能与HtmlTable类似.不同的是,Table控件可以用动态的内容以编程的方式来生成表格. 我们在制作表格的时候,总是会遇到一个表格中有多行多列,但 ...

  • webstorm中的快捷键有哪些?

    现将最常用的快捷键挑出来备忘,既能方便记忆,又能提高工作效率. WebStorm快捷键操作 最近一段时间在写javascript时,找到一个灰常强悍的IDE.名称叫:WebStorm 目前是英文版的, ...