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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python可变类型有哪些_python可变数据类型有哪些

    python可变类型有哪些_python可变数据类型有哪些将python3的基本数据类型有六种:Number(int,float,bool,complex),String,List,Tuple,Dictionary,Set可变数据类型:list,dic,set不可变数据类型:Number,String,Tuple什么是可变数据类型和不可变数据类型?1、Python中的不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当…

    2022年5月20日
    75
  • alsa sample rate跟踪 <1>

    alsa sample rate跟踪 <1>alsasamplerate跟踪本计划全部放在一篇中,后来发现太长。因此截取成四篇,一口气看800多行,确实够烦的!之前以为alsalib中的rateplugin之所以被调用,是因为在asound.conf中指定了硬件的samplerate,例如rate48000。但实际测试下来,发现不是这么回事。无论asound.conf中是否有rate48000,驱动中得到

    2022年10月16日
    2
  • Pytorch搭建DenseNet[通俗易懂]

    Pytorch搭建DenseNet[通俗易懂]文章目录DenseNet与ResNeXtDenseNet网络的搭建Growth_rateTransitionLayerBottleneck定义网络小测试问题1训练与测试可视化网络结构DenseNet与ResNeXt首先回顾一下DenseNet的结构,DenseNet的每一层都都与前面层相连,实现了特征重用。下图表示一个DenseBlock如图所示,在一个DenseBlock中,第i层的…

    2022年9月29日
    2
  • centos frp内网穿透_内网穿透 无需公网ip

    centos frp内网穿透_内网穿透 无需公网ip说明Linux搭建frp实现内网穿透操作步骤安装步骤省略(下载解压拷贝到server服务器和client服务器完事)具体移步:github注意程序文件需要追加可执行权限!注意相关端口放行!服务端配置文件:frps.ini[common]bind_port=7777authentication_method=tokentoken=12345678tls_only=truekcp_bind_port=7777max_pool_count=10l

    2025年11月5日
    1
  • Docker安装Rabbitmq超详细教程

    Docker安装Rabbitmq超详细教程安装Rabbitmq1.使用docker查询rabbitmq的镜像dockersearchrabbitmq2.安装镜像安装name为rabbitmq的这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可dockerpullrabbitmq3.运行mq:dockerrun-d–hostnamemy-rabbit–namerabbit-p15672:15672-p5673:5672rabbitmq通过dockerps-a查看部

    2022年5月24日
    54
  • springcloud详细教程_史上最简单的画

    springcloud详细教程_史上最简单的画SpringCloudBus将分布式的节点和轻量的消息代理连接起来。这可以用于广播配置文件的更改或者其他的管理工作。一个关键的思想就是,消息总线可以为微服务做监控,也可以作为应用程序之间相互通讯。本文要讲述的是用AMQP实现通知微服务架构的配置文件的更改。一、准备工作本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置spring-cloud-starter-bus-amq

    2025年7月26日
    4

发表回复

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

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