JS–JavaScript变量详解(全局变量、局部变量)

JS–JavaScript变量详解(全局变量、局部变量)JavaScript变量JavaScript使用var关键字声明变量。声明变量的5种常规用法如下:vara; //声明单个变量。var关键字与变量名之间以空格分隔varb,c; //声明多个变量。变量之间以逗号分隔vard=1; //声明并初始化变量。等号左侧是变量名,等号右侧是值vare=2,f=3; //声明并初始化多个变量。以逗号分隔多个变量…

大家好,又见面了,我是你们的朋友全栈君。

JavaScript变量

JavaScript使用var关键字声明变量。声明变量的5种常规用法如下:

var a;				//声明单个变量。var关键字与变量名之间以空格分隔
var b, c;			//声明多个变量。变量之间以逗号分隔
var d = 1;			//声明并初始化变量。等号左侧是变量名,等号右侧是值
var e = 2, f = 3;	//声明并初始化多个变量。以逗号分隔多个变量
var e = f = 3;		//声明并初始化多个变量,且定义变量的值相同

JavaScript也支持不使用var命令,直接使用未声明的变量。但建议用户养成“先声明后使用”的良好习惯。

声明变量之后,在没有初始化之前,则它的初始值未undefined(未定义的值)。

变量的命名规则如下:*

  • 首字符必须是大写或小写的字母、下划线(_)或美元符($),后续的字符可以是字母、数字、下划线或美元符。
  • 变量名称不能是JavaScript关键字或保留字。
  • 变量名称长度任意,但要区分大小写。

除了上面的硬约束之外,用户还应遵循下面软约束,这将会使用户受益终身。

  • 变量声明应集中、置顶,如文档的前面、代码的前面,或者函数内的上面。
  • 使用局部变量。不要把所有变量都放置在段首,如果仅在函数内使用,建议在函数内声明。
  • 变量名应易于理解。
  • 避免混乱。声明变量之前,应该规划好,避免类似usrname与usrName混用现象。

根据可见性,变量可以分为全局变量和局部变量(或称私有变量)

  • 全局变量在整个页面中可见,并在页面任何位置被允许访问。
  • 局部变量只能在指定函数内可见,函数外面是不可见的,也不允许访问。

在函数内部使用var关键字声明的变量就是私有变量,该变量的作用域仅限于当前函数体内。
但是如果不使用var关键字定义的变量都是全局变量,不管是在函数内或者函数外,在整个页面脚本中都是可见的。

示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			var a = "a(域外) = 全局变量<br/>"; //声明全局变量a
			var b = "b(域外) = 全局变量<br/>"; //声明全局变量b
			function f(){ 
   
				var a = "a(域内) = 域内变量<br/>";//声明局部变量a
				    b = "b(域内) = 域内变量<br/>";//重写全局变量a的值
				document.write(a);//输出变量a的值
				document.write(b);//输出变量b的值
			}
			f();//调用函数
			document.write(a);//输出变量a的值
			document.write(b);//输出变量b的值
		</script>
	</head>
	<body>
	</body>
</html>

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135231.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图解原型和原型链

    图解原型和原型链前言知识 结论 原型 把一个函数称为类的话 原型就是每个类都有的属性 作用 给这类添加属性 分为两类 显式原型 prototype 和隐式原型 proto 所有函数对象 Function 都有显式原型 所有对象 如 Object Function Array 等对象 都有隐式原型原型链 本质是链表 proto 相当于链表的指针 指向下一个对象 每个对象都有 proto 属性 它指向构造函数的 prototype 属性 构造函数的 prototype 属性的 proto 属性

    2025年9月27日
    3
  • 苹果p12证书转换[通俗易懂]

    苹果p12证书转换[通俗易懂]先生成本地的keyopensslgenrsa-outaps_development.key2048#将key转换导出csr证书opensslreq-new-sha256-keyaps_development.key-outaps_development.csr拿着aps_development.csr在苹果开发者网站去得到cer然后解析ceropensslx509-informDER-outformPEM-inaps_development.

    2022年6月15日
    49
  • stream和streaming_parallelStream

    stream和streaming_parallelStreamStream和parallelStream一.什么是Stream?Stream是在Java8新增的特性,普遍称其为流;它不是数据结构也不存放任何数据,其主要用于集合的逻辑处理。二.和Iterator的区别Iterator做为迭代器,其按照一定的顺序迭代遍历集合中的每一个元素,并且对每个元素进行指定的操作。而Stream在此基础上还可以将这种操作并行化,利用多核处理器的优势快…

    2022年4月19日
    116
  • 场效应管开关电路_场效应管电子开关原理

    场效应管开关电路_场效应管电子开关原理场效应管开关电路前言MOS管导通特性N沟道场效应管开关电路管损失MOS管驱动MOS管应用电路MOSFET驱动电路有以下几点要求MOSFET驱动电路的要求前言MOSFET一直是大多数N沟道场效应管开关电路电源(SMPS)选择的晶体管技术。MOSFET用作主开关晶体管,并用作门控整流器来提高效率。本设计实例对P沟道和N沟道增强型MOSFET做了比较,以便选择最适合电源应用的开关。MOSFET一直是大多数开关电源(SMPS)首选的晶体管技术。当用作门控整流器时,MOSFET是主开关晶体管且兼具提高效率的作用。

    2025年12月1日
    8
  • python之map函数

    python之map函数map()函数会根据提供的函数对指定序列做映射。语法如下:map(func,*iterables)–>mapobject||Makeaniteratorthatcomp

    2022年7月6日
    33
  • matlab差值报错,matlab插值介绍「建议收藏」

    matlab差值报错,matlab插值介绍「建议收藏」1、一维插值:已知离散点上的数据集,即已知在点集X=上的函数值Y=,构造一个解析函数(其图形为一曲线)通过这些点,并能够求出这些点之间的值,这一过程称为一维插值。MATLAB命令:yi=interp1(X,Y,xi,method)该命令用指定的算法找出一个一元函数,然后以给出处的值。xi可以是一个标量,也可以是一个向量,是向量时,必须单调,method可以下列方法之一:‘neares…

    2022年5月29日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号