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>

在这里插入图片描述

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • WinINet 与 WinHTTP简介

    WinINet 与 WinHTTP简介之前一直有听到WinHTTP和WinINet这两种网络服务,是Microsoft提供的两套API,但一直没有系统的用过,趁次机会一起来将这个整理一下。    首先了解一下WinINet:    WinInet,全称TheMicrosoftWindowsInternet,应用程序可以通过它提供的API访问标准的网络协议,比如FTP和HTTP等。WinINet不支持服务端的

  • android之eclipse下查看android系统源代码

    刚看了一个介绍查看java源代码的文章,想起来一直没看过android自带的sdk的源代码,应该可以直接导入到eclipse里面的,就尝试了一下,果然行得通. 在看代码的时候,会经常用到 ctrl+鼠标左键 去看自己写的类,有时候点到java的类或者android的类就无法打开,显示no class found之类的东西, 1.拿Button举例,ctrl加鼠标左键,然后显示了no

  • opencv 滤波 方框滤波 均值滤波 高斯滤波 中值滤波 双边滤波[通俗易懂]

    文章目录一.线性滤波1.1.方框滤波demo1.2.均值滤波demo1.3.高斯滤波demo二.非线性滤波2.1.中值滤波demo2.2.双边滤波demo结构体参考一.线性滤波1.1.方框滤波方框滤波是所有滤波器中最简单的一种滤波方式。每一个输出像素的是内核邻域像素值的平均值得到。通用的滤波kernel如下:这里是一个长宽分别为Kwidth和Kheight的窗口函数,在此区域内邻域中像素值叠加求平均即可求出位于kernel中心点像素的像素值。/**@brief使用框过滤

  • wifi数据包解析_解析WiFi数据包(libpcap)

    wifi数据包解析_解析WiFi数据包(libpcap)我一直在努力使OpenWRT路由器将WiFi探测器请求发送到MySQL数据库(它存储每个探测请求数据包的MAC地址和RSSI信息以及其他路由器特定的数据).在对libpcap进行了大量的研究之后,我已经能够拼凑一个基本的小程序,只需使用过滤器表达式(‘wlansubtypeprobe-req’)在监视器界面(mon0)上嗅探数据包,然后打印出原始数据包在十六进制.使用libpcap上可以在线获…

  • 12 – 利用LinuxPTP进行时间同步(软/硬件时间戳) – 研一

    12 – 利用LinuxPTP进行时间同步(软/硬件时间戳) – 研一1、LinuxPTP源码下载sudogitclonegit://git.code.sf.net/p/linuxptp/codelinuxptpcdlinuxptpsudomakesudomakeinstall查看Usageptp4l-h延迟机制选项-A Auto,从E2E开…

  • Delphi 2007体验!

    Delphi 2007体验!

发表回复

您的电子邮箱地址不会被公开。

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