js局部变量和全局变量·你不知道的事

author author     2022-08-20     123

关键词:

JS通过函数管理作用域。在函数内部声明的变量只在这个函数内部,函数外面不可用。全局变量则是在任何函数外面声明的或者未声明直接简单使用的。

为避免变量的冲突和覆盖,应尽量少的使用全局变量。

但有时会不自觉的创建出全局变量。首先,你可以不需要声明就可以使用变量;第二,js有隐含的全局概念,意味着你不声明的任何变量都会成为一个全局对象属性。

技术分享

此段代码中的result没有声明,但是代码照样运行正常,但在调用函数后你会多一个全局命名空间。所以最好是始终使用var声明变量。下面教大家怎么看变量是全局变量还是局部变量。

技术分享

上面的代码是一个匿名函数立即执行(如果不是()立即执行,需要调用这个函数), 用chrome浏览器,在变量声明处加断点,点F5刷新后,走到断点,查看右侧scope,没有h变量。

技术分享


点F10走过断点,可以看到Global里有变量h,说明不加var,生成全局变量了。


技术分享

下面用var定义变量试试

技术分享

在Local里声明了变量h

技术分享

点F10走过断点,h赋值hello

技术分享


本文出自 “12464580” 博客,请务必保留此出处http://12474580.blog.51cto.com/12464580/1889285

javascript声明全局变量和局部变量

...function外部声明,即为全局变量,否则在function声明的是局部变量。该方式即为显式声明详细如下:?123456789101112<script>  vartest=5;//全局变量  functiona(){  查看详情

你知道这两个c语言小知识吗?(代码片段)

文章目录前言一、局部变量和全局变量二、C语言常量总结前言这两个C语言中需要注意的小知识你都了解了吗一、局部变量和全局变量局部变量和全局变量的区别,通俗的说,就是局部变量在花括号内部,而全局变量... 查看详情

js全局变量是全局对象的属性,函数局部变量为啥就不是函数的属性呢?

能不能详细阐述和解释一下,JS中函数局部变量与函数属性之间的关系以及区别。局部变量和全局变量同名时,会隐藏这个全局变量;4.变量关键字:4.变量4.1变量的类型JS是松散类型的语言4.2变量的声明var声明是变量的标准声明var... 查看详情

局部变量和全局变量

变量作用域:全局变量和局部变量1)作用范围不一样全局变量在模块里都能用,包括函数中也可以用局部变量只作用于函数2)当全局变量和局部变量同名时,函数优先使用局部变量3)局部变量没有时,会使用全局变量4)在函数内... 查看详情

一言难尽的js变量提升面试题(代码片段)

 全局作用域和局部作用域全局作用域:整个JS执行环境局部作用域:通过创建一个函数就开辟出了一个局部作用域 全局变量和 局部变量全局变量:在全局作用域都可以访问的变量局部变量:只能在当前局部作用域访... 查看详情

你不知道的事——nodejs安装环境配置问题

...实,nodeJS要配置个屁,安装时就有提示会添加到PATH环境变量中,不用手动配置,像node_path也不用(或许有人要配全局的node_global ode_modules?)。    昨天手贱安装了一个Excel服务器,连带着有Microsoftdatabase2008和Microsoft... 查看详情

全局变量和局部变量的区别

...内未经过var声明的变量为全局变量。经过var声明的变量为局部变量。在全局环境下声明的为全局变量。2.在局部环境内可以访问全局变量和局部变量。在全局环境中不能访问局部变量。3.当局部环境有父环境时,它可以访问父环... 查看详情

js全局变量,局部变量

<title>范例3-4</title><scriptlanguage="javascript"><!--varnA=10;//定义全局变量nAfunctionfunc(){varnA=20;//定义局部变量nA并输出document.write("<li>局部作用范围的nA:"+nA);}func();//调用函数funcdocument.w 查看详情

js全局变量与局部变量预解析与作用域链详解

局部变量和全局变量同名时,会隐藏这个全局变量;4.变量 关键字:4.变量4.1变量的类型JS是松散类型的语言 4.2变量的声明var声明是变量的标准声明var声明的变量是永久性的,不能用delete运算符删除 全局对象,调用对象初... 查看详情

局部变量和全局变量的区别

局部变量和全局变量的区别局部变量可以与全局变量重名,但是局部变量会屏蔽全局变量。要使用全局变量,需要使用::。在函数体内引用变量会用到同名的局部变量而不是全局变量,对于一些编译器来说,在同一个函数体内可... 查看详情

全局变量与局部变量的性能

】全局变量与局部变量的性能【英文标题】:Performancewithglobalvariablesvslocal【发布时间】:2012-09-1709:21:44【问题描述】:我还是Python的新手,我一直在努力提高我的Python脚本的性能,所以我在使用和不使用全局变量的情况下对其... 查看详情

作用域,局部和全局变量

全局与局部变量在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。当全局变量与局部变量同名时:在定义局部变量的子程序内... 查看详情

js变量的作用域

...出该范围无效。在JavaScript中,有两种变量,全局变量和局部变量:全局变量:可以在脚本中的任何位置被调用,全局变量的作用域是当前文档中整个脚本区域。局部变量:只能在此变量声明语句所属的函数内部使用,局部变量... 查看详情

局部变量和全局变量

#在子程序中定义的变量成为局部变量,在程序一开始定义的变量成为全局变量。#当全局变量和局部变量重名时,在定义局部变量的子程序内,局部变量起作用,在其他地方全局变量起作用。school="Oldboyedu."names=["Alex","Jack","Rain"]na... 查看详情

js中局部变量和全局变量的问题

...,所有第二个会alert出undefined。也是说第二个scope其实是局部变量,但没有初始值。就这样。参考技术A你能否先说明一下testScope什么时候被调用了追问就在这个后面加一句testScope() 查看详情

全局变量和局部变量的区别

1.作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等2.内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区3.生命期不同:全局变量的生命期和主程序一样,随程序的销毁而... 查看详情

jmeter的全局变量和局部变量

 学习过任何一门语言后,你都会接触到全局变量和局部变量,就相当于全国的法律和地方法律,在jmeter中,线程组A设置了全局变量和局部变量,那么在线程组B中只能使用全局变量,而不能使用局部变量。如何设置全局变量... 查看详情

静态变量全局变量和局部变量

...次声明这个全局变量。2.全局变量、静态全局变量、静态局部变量都是在静态存储区(全局数据区)中分配空间的,而局部变量是在栈上分配空间的。3.全局变量、静态变量的生命期和程序生命期是一样的,在程序结束之后操作... 查看详情