`
二当家的
  • 浏览: 25698 次
文章分类
社区版块
存档分类
最新评论

JS中如何定义全局变量

 
阅读更多

三种方法

1.在js的function外定义一个变量

var name='测试';
function XX(){
       alert(name);
}

2.不使用var,直接给定义变量,隐式的声明了全局变量

name='测试';
function XX(){
alert(name);
}

这种方法,即使该变量是在一个function内,当该function被执行后它变成了全局变量 ---- 但是function不执行它就不被其他function知道,所以最好定义在function外

3.使用window.变量名定义为全局变量,但是注意:调用时候建议写上window.变量名,当然也可以不写;我们常用的document.getXXX的document对象就是window的

window.name='测试';
function XX(){
alert(window.name);
}

全局变量的优点:

可以减少变量的个数,减少由于实际参数和形式参数的数据传递带来的时间消耗。

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


转自:点击打开链接

分享到:
评论

相关推荐

    浅谈在vue项目中如何定义全局变量和全局函数

    本篇文章主要介绍了浅谈在vue项目中如何定义全局变量和全局函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    JavaScript声明全局变量访问方法

    在JavaScript中,全局变量是一种可以在整个程序中任何地方访问的变量,它们的作用域跨越函数和代码块。本篇文章将深入探讨JavaScript声明全局变量的几种方法以及如何访问这些变量。 1. **全局变量的声明方式** - ...

    微信小程序全局变量改变监听的实现方法

    当时想到的就是使用全局变量,在 app.js 中定义好全局变量,点击组件页面时就修改全局变量的值,父页面同样使用全局变量的值,这样一来就可以动态打开/关闭弹出层且传递值了。 下面先看看 app.js 中怎么定义的: ...

    详解VUE 定义全局变量的几种实现方式

    本文将详细解析Vue定义全局变量的三种主要实现方式。 1. **全局变量专用模块** 这种方法是通过创建一个特定的模块(如`Global.vue`)来组织和管理全局变量。在这个模块中,你可以声明并初始化你的全局变量,例如`...

    Vue中定义全局变量与常量的各种方式详解

    本文主要跟大家介绍了关于Vue定义全局变量与常量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 我想要定义一个变量, 在项目的任何地方都可以访问到, 不需要每一次使用的时候, 都引入...

    JavaScript全局变量的本质及页面共享问题 -页面

    JavaScript全局变量的本质与页面共享问题是一个重要的编程概念,尤其是在网页开发中。JavaScript是一种广泛使用的脚本语言,它的全局变量在程序中的角色独特,且与页面的生命周期和浏览器环境紧密相关。 首先,我们...

    在vue项目中 实现定义全局变量 全局函数操作

    定义全局变量 原理: 设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或者在其它地方需要使用时,引入该模块便可。...

    vue项目中定义全局变量、函数的几种方法

    - 在`state.js`中定义全局变量,然后在`index.js`中创建Vuex Store导入这些状态。 - 在组件中,通过`this.$store.state`访问全局状态,如`this.$store.state.token`。 - 虽然Vuex较为繁琐,但能提供更强大的状态...

    在vue里面设置全局变量或数据的方法

    我们可以创建一个自定义的插件,用来定义全局变量。以下是一个创建Vue插件并设置全局变量的步骤: 1. **创建插件对象** 首先,创建一个JavaScript文件,例如`my-plugin.js`,并在其中定义一个名为`MyPlugin`的对象...

    Vue中全局变量的定义和使用

    - **定义全局变量和设置方法**:在`global_val.js`中,我们可以定义一个对象并导出,例如: ```javascript export default { sso_flag: "0", set_sso_flag(sso_flag) { this.sso_flag = sso_flag; }, }; ``...

    浅谈JavaScript的全局变量与局部变量_.docx

    本文将深入探讨JavaScript的全局变量与局部变量。 首先,我们要明白JavaScript的作用域划分标准。不同于其他一些语言,JavaScript的作用域不是基于代码块(如if、while、for等),而是基于函数(function block)。...

    vue定义全局变量和全局方法的方法示例

    在Vue.js框架中,有时我们需要定义全局变量和全局方法,以便在多个组件之间共享数据或功能。这在大型项目中尤其重要,可以提高代码的复用性和可维护性。以下是一些实现这一目标的方法。 首先,我们可以使用全局引入...

    uni-app 全局变量的几种实现方式代码示例.zip

    在uni-app开发中,常常需要在多个页面之间共享数据,这时就需要用到全局变量。全局变量可以确保数据在各个页面之间保持一致,提高应用的可维护性和用户体验。uni-app是基于Vue.js构建的多端开发框架,因此其全局变量...

    基于JavaScript 声明全局变量的三种方式详解

    在JavaScript中,声明全局变量有三种主要方式,每种方式都有其特点和适用场景。以下是详细的分析: 1. 显式声明:使用`var`关键字 这是最常见的方式,通过在函数外部或脚本的顶部使用`var`关键字声明变量,使其成为...

    函数的全局和局部作用域和变量-作用域.html

    // 全局变量: 在script之间或者一个独立的js文件中,在全局作用域中定义的变量 全局变量。在任何位置都可以访问 // 全局作用域:在script之间或者一个独立的js文件 script之间或者一个独立的js文件里的内容区域...

    vue 之使用 scss 的全局变量

    vue 之使用 scss 的全局变量

    js DOM 元素ID就是全局变量.docx

    在JavaScript中,DOM(Document Object Model)元素的ID实际上被用作全局变量。这个特性源自浏览器对HTML标准的一种实现,尽管这不是W3C推荐的最佳实践。当我们在HTML文档中为一个元素定义了ID,例如`<div id="foo">...

Global site tag (gtag.js) - Google Analytics