【2】JavaScript 的变量/常量

本文详细介绍了JavaScript中变量和常量的声明、var和let的区别,以及标识符的命名规则,强调了在ES2015后let的推荐使用。
摘要由CSDN通过智能技术生成


变量,用一句概括就是 数据的内容。如果将脚本看作是为了得到最终解答的一系列 数据的处理,那么变量职责就是 在处理过程中用来暂时保存数据

变量 是指 暂时保存处理过程中的数据的容器。

声明变量

要使用变量,首先需要先声明变量。变量的声明是指将变量的名字在 JavaScript 中注册并且确保内存中存储的空间。要声明变量,可以使用var命名。

  • 写法 var命名

var 变量名 [= 初始值],…

例如,下面是声明名为 name 的变量

var name;

如果声明多个变量,代码如下:

var name;
var age;

可以使用一个 var 声明多个变量。

var name, age;

一个 var 声明多个变量时,变量中间需要使用英文逗号隔开。
另外,声明时也可以设定初始值。

var name = '九皇叔叔';
var age = 100;

这里进行初始化值时,是使用 等号(=),意思是:将右边的值赋值给左边的变量。
没有设置初始值时,JavaScript 则给变量分配未定义(undefined)这个特殊的值。

变量的声明是任意的吗?

严格来说,JavaScript 中变量声明不是必须的。是因为即使没有声明变量,首次赋值时 JavaScript 也会隐式声明变量(=确保空间)。
所以,下面的代码在语法上并没有错误。

name = '九皇叔叔';
console.log(name);

在这里插入图片描述
在这里插入图片描述

另一个声明变量的写法 - let 命令 -

ES2015 中,新增了 let 命令作为声明变量的命令。let 命令的使用方法和 var 命令相同。

// 基本的声明
let name;

// 声明多个变量
let name, age;

// 设定初始值
let name = '九皇叔叔', age = 100;

var 和 let 的区别

(1) 不允许重复的变量
let 命令不允许有同名的变量。因此,下面的代码发生了 Identifier ‘name’ has already been declared (变量 name 已经被声明了)这样的错误。

let name = '九皇';
let name = '叔叔';

因为 var 命令允许有同名变量,所以,下面代码可以正确的运行。

var name = '九皇';
var name = '叔叔';

(2) 支持块级作用域
关于这个特性,后续章节作用域时,会详细说明。当前只需知晓:let 命令能够更细致的管理变量的有效范围。

因为 let 具有以上特性,所以在 ES2015 的环境中,推荐优先使用 let 命令。

标识符的命名规则

标识符 是给构成脚本的元素 所起的名字。包括但不限于:变量名、函数名、类名等等。
在 JavaScript 中,名字在命名时,一般遵循以下 四条规范:

规则样例(正确)样例(错误)
第1个字符为英文字母、下划线(_)或美元符号($)中的任意一个_name、$age101_name
第2个字符之后为第1个字符可以使用的字符或者是任意的数字name0、age1name-0、age@1
区分变量名中英文字母的大写/小写name、Name-
不使用 JavaScript 中的保留字forthfor

以下条约虽然不是命名规范,,但从 书写更易读的代码 的角度来看,还是注意下:

序号.注意点样例(建议)样例(不建议)
1从名字容易推理到数据的内容name、agen、a
2不过长、也不过短keywordkw、keyword_for_user_search
3看起来不容易混淆-usr/user
4首字母的 _ 有特殊含义时不使用name_name
5使用事先决定的统一命名-last_name、LastName、lastName
6基本使用英文单词namemingzi

上述只是一般性建议,在实际使用时,需结合上下文进行视情况而定。例如:for 语句中使用的计数变量,一般命名为 i、j、k … 这样尽量简短的名字。

命名的注意
序号.5中提到统一命名,有以下 3种 情况:

写法说明样例
camelCase写法开头单词的首字母小写、之后的单词首字母都大写lastName
Pascal 写法所有单词的首字母都是大写LastName
下划线写法单词间使用下划线( _ )进行连接last_name、LAST_NAME

通常写法

  1. 变量/函数名 :camelCase 写法
  2. 常量名 :下划线写法
  3. 类(构造函数)名 :Pascal 写法

声明常量

理解常量的含义,先来看不使用常量的例子。
eg:已知圆的半径 r=5cm,计算园周长是多少?(公式 C = 2πr )

// 定义圆的半径
let radius = 5; // 单位:厘米

// 定义 π
let pi = 3.1415;

// 计算圆的周长
let circumference = 2 * pi * radius;

// 输出结果
console.log("圆的周长为:" + circumference.toFixed(2) + " 厘米");

上述代码中,半径 这个变量(radius)是可以随时改变的,可能计算 10cm 的半径、20cm 的半径 等等。但是,π 是基本不会变动的(例如:变为 9.9999;但精度可能会变长:3.1415926),像这样一类的变量,我们可以使用 const 来代替 varlet 进行声明变量,如下:

// 定义 π
const PI = 3.1415;

常量的命名规范基本遵循变量的命名规则,但是为了更容易识别出是常量,通常全部使用大写字母并且用下划线来分割单词。例如:USER_NAME

调整后的代码如下:

// 定义圆的半径
let radius = 5; // 单位:厘米

// 定义 π
const PI = 3.1415;

// 计算圆的周长
let circumference = 2 * PI * radius;

// 输出结果
console.log("圆的周长为:" + circumference.toFixed(2) + " 厘米");

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值