三种方法
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项目中如何定义全局变量和全局函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在JavaScript中,全局变量是一种可以在整个程序中任何地方访问的变量,它们的作用域跨越函数和代码块。本篇文章将深入探讨JavaScript声明全局变量的几种方法以及如何访问这些变量。 1. **全局变量的声明方式** - ...
当时想到的就是使用全局变量,在 app.js 中定义好全局变量,点击组件页面时就修改全局变量的值,父页面同样使用全局变量的值,这样一来就可以动态打开/关闭弹出层且传递值了。 下面先看看 app.js 中怎么定义的: ...
本文将详细解析Vue定义全局变量的三种主要实现方式。 1. **全局变量专用模块** 这种方法是通过创建一个特定的模块(如`Global.vue`)来组织和管理全局变量。在这个模块中,你可以声明并初始化你的全局变量,例如`...
本文主要跟大家介绍了关于Vue定义全局变量与常量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 我想要定义一个变量, 在项目的任何地方都可以访问到, 不需要每一次使用的时候, 都引入...
JavaScript全局变量的本质与页面共享问题是一个重要的编程概念,尤其是在网页开发中。JavaScript是一种广泛使用的脚本语言,它的全局变量在程序中的角色独特,且与页面的生命周期和浏览器环境紧密相关。 首先,我们...
定义全局变量 原理: 设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或者在其它地方需要使用时,引入该模块便可。...
- 在`state.js`中定义全局变量,然后在`index.js`中创建Vuex Store导入这些状态。 - 在组件中,通过`this.$store.state`访问全局状态,如`this.$store.state.token`。 - 虽然Vuex较为繁琐,但能提供更强大的状态...
我们可以创建一个自定义的插件,用来定义全局变量。以下是一个创建Vue插件并设置全局变量的步骤: 1. **创建插件对象** 首先,创建一个JavaScript文件,例如`my-plugin.js`,并在其中定义一个名为`MyPlugin`的对象...
- **定义全局变量和设置方法**:在`global_val.js`中,我们可以定义一个对象并导出,例如: ```javascript export default { sso_flag: "0", set_sso_flag(sso_flag) { this.sso_flag = sso_flag; }, }; ``...
本文将深入探讨JavaScript的全局变量与局部变量。 首先,我们要明白JavaScript的作用域划分标准。不同于其他一些语言,JavaScript的作用域不是基于代码块(如if、while、for等),而是基于函数(function block)。...
在Vue.js框架中,有时我们需要定义全局变量和全局方法,以便在多个组件之间共享数据或功能。这在大型项目中尤其重要,可以提高代码的复用性和可维护性。以下是一些实现这一目标的方法。 首先,我们可以使用全局引入...
在uni-app开发中,常常需要在多个页面之间共享数据,这时就需要用到全局变量。全局变量可以确保数据在各个页面之间保持一致,提高应用的可维护性和用户体验。uni-app是基于Vue.js构建的多端开发框架,因此其全局变量...
在JavaScript中,声明全局变量有三种主要方式,每种方式都有其特点和适用场景。以下是详细的分析: 1. 显式声明:使用`var`关键字 这是最常见的方式,通过在函数外部或脚本的顶部使用`var`关键字声明变量,使其成为...
// 全局变量: 在script之间或者一个独立的js文件中,在全局作用域中定义的变量 全局变量。在任何位置都可以访问 // 全局作用域:在script之间或者一个独立的js文件 script之间或者一个独立的js文件里的内容区域...
vue 之使用 scss 的全局变量
在JavaScript中,DOM(Document Object Model)元素的ID实际上被用作全局变量。这个特性源自浏览器对HTML标准的一种实现,尽管这不是W3C推荐的最佳实践。当我们在HTML文档中为一个元素定义了ID,例如`<div id="foo">...