首页 > 其他分享 >6. JS变量定义和赋值

6. JS变量定义和赋值

时间:2022-10-09 11:59:39浏览次数:40  
标签:定义 JavaScript JS 关键字 var 变量 赋值

1. 前言

变量是所有编程语言的基础之一,可以用来存储数据,例如字符串、数字、布尔值、数组等,并在需要时设置、更新或者读取变量中的内容。我们可以将变量看作一个值的符号名称。

2. 变量的命名规则

在 JavaScript 中,变量名称并不能随便定义,需要遵循标识符的命名规则,如下所示:

  • 变量名中可以包含数字、字母、下划线_、美元符号$
  • 变量名中不能出现汉字;
  • 变量名中不能包含空格;
  • 变量名不能是 JavaScript 中的关键字、保留字;
  • 变量名不能以数字开头,即第一个字符不能为数字。


在定义变量时,变量名要尽量有意义,让自己或者他人能轻易看懂,例如可以使用 name 来定义一个存储姓名的变量、使用 dataArr 来定义一个数组类型的变量。

当变量名中包含多个英文单词时,推荐使用驼峰命名法(大驼峰:每个单词首字母大写,例如 FileType、DataArr;小驼峰:第一个单词首字母小写后面的单词首字母大写,例如 fileType、dataArr)。

提示:JavaScript 中的关键字、保留字不能作为变量的名称,这已在《JavaScript中的几个重要概念》一文中介绍。

2. 定义变量

在 JavaScript 中,定义变量需要使用var关键字,语法格式如下:

var 变量名;

举几个例子:

var str;  //用来存储字符串
var age;  //用来存储年龄
var prePage;  //用来存储上一页

定义变量时,可以一次定义一个或多个变量,若定义多个变量,则需要在变量名之间使用逗号,分隔开,如下例所示:

var a, b, c;    // 同时声明多个变量

变量定义后,如果没有为变量赋值,那么这些变量会被赋予一个初始值——undefined(未定义)。

3. 为变量赋值

变量定义后,可以使用等于号=来为变量赋值,等号左边的为变量的名称,等号右边为要赋予变量的值,如下例所示:

var num;    // 定义一个变量 num
num = 1;    // 将变量 num 赋值为 1

此外,也可以在定义变量的同时为变量赋值,如下例所示:

var num = 1;                // 定义一个变量 num 并将其赋值为 1
var a = 2, b = 3, c = 4;    // 同时定义 a、b、c 三个变量并分别赋值为 2、3、4
// var a = 2,               // 为了让代码看起来更工整,上一行代码也可以写成这样
//     b = 3,
//     c = 4;         

4. 变量提升

JavaScript 在预编译期会先预处理声明的变量,但是变量的赋值操作发生在 JavaScript 执行期,而不是预编译期。

document.write(str); //显示undefined
str = http://c.biancheng.net/js/;
document.write(str); //显示 http://c.biancheng.net/js/
var str;

在上面示例中,声明变量放在最后,赋值操作放在前面。由于 JavaScript 在预编译期已经对变量声明语句进行了预解析,所以第1行代码读取变量值时不会抛出异常,而是返回未初始化的值 undefined。第3行代码是在赋值操作之后读取,故显示为数字 1。

JavaScript 引擎的解析方式是:先解析代码,获取所有被声明的变量,然后再一行一行地运行。 这样,所有声明的变量都会被提升到代码的头部,这就叫作变量提升(Hoisting)。

5. let 和 const 关键字

2015 年以前,JavaScript 只能通过 var 关键字来声明变量,在 ECMAScript6(ES6)发布之后,新增了 let 和 const 两个关键字来声明变量,其中:

  • 使用 let 关键字声明的变量只在其所在的代码块中有效(类似于局部变量),并且在这个代码块中,同名的变量不能重复声明;
  • const 关键字的功能和 let 相同,但使用 const 关键字声明的变量还具备另外一个特点,那就是 const 关键字定义的变量,一旦定义,就不能修改(即使用 const 关键字定义的为常量)。

注意:IE10 及以下的版本不支持 let 和 const 关键字。

示例代码如下:

let name = "小明";      // 声明一个变量 name 并赋值为“小明”
let age  = 11;          // 声明一个变量 age
let age  = 13;          // 报错:变量 age 不能重复定义
const PI = 3.1415       // 声明一个常量 PI,并赋值为 3.1415
console.log(PI)         // 在控制台打印 PI

 

标签:定义,JavaScript,JS,关键字,var,变量,赋值
From: https://www.cnblogs.com/jiajunling/p/16771597.html

相关文章

  • js中 => 的含义
    =>是es6语法中的arrowfunction(x)=>x+6相当于function(x){returnx+6;}; ......
  • JDK安装与环境变量配置(windows)
    系统变量→新建JAVA_HOME变量。变量值填写jdk的安装目录(本人是C:\Java\jdk1.7.0)系统变量→寻找Path变量→编辑在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bi......
  • json文本数据
    本文主要针对三个问题:json格式数据,text数据与json数据之间的关系,json和python字典的区别1、什么是json数据?json是文本数据,可以在网络中传输的通用数据,它是具有特定格......
  • ASP.NET Core实现内容协商 (json+xml)(如何根据请求的媒体类型调整数据的输出)
    内容协商概念内容协商ContentNegotiation:允许客户端和服务器通过协商来决定相互之间数据的传输格式、语言等。HTTP头部http头部的媒体类型MediaTypes定义accept和......
  • leetcode 22 括号生成 js 实现
    22.括号生成难度中等数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合示例1:输入:n=3输出:["((()))","(()())","(()......
  • JSP动漫论坛
    ​九重天动漫论坛系统的设计方案,主要包括系统运用的关键技术,数据库设计,对各个功能模块的详细设计以及实现,本次设计主要实现论坛系统中以下几个功能:注册会员,会员登录,管理员......
  • js实现淡入淡出轮播图
    淡入淡出轮播图实现功能:1、鼠标离开自动轮播,鼠标滑入停止自动轮播2、点击圆圈或箭头,更换轮播图片实现思路:1、搭建框架:通过html、css搭建框架渲染样式,通过把第一张设置......
  • Angular 打包 js文件 过大
    1、加了--prod参数后,angular-cli会把用不到的包都删掉//package.json中"scripts":{..."build":"ngbuild--prod"...}2、nginx开启gzip优化、在nginx中server......
  • Vue3组件库打包指南,一次生成esm、esm-bundle、commonjs、umd四种格式
    本文为Varlet组件库源码主题阅读系列第二篇,读完本篇,你可以了解到如何将一个Vue3组件库打包成各种格式上一篇里提到了启动服务前会先进行一下组件库的打包,运行的命令为:v......
  • 推荐一个变量调试神器:go-spew
    今天给大家推荐的是一个可以将变量以一种非常友好的方式输出其完整的数据结构信息的工具:go-spew。 该包经过了全面的测试,测试覆盖率为100%。支持各种自定义配置,非常方便......