LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 246|回复: 0

Javascript变量命名

[复制链接]
发表于 2024-1-10 22:59:51 | 显示全部楼层 |阅读模式
JavaScript 的变量命名有两个限制:

变量名称必须仅包含字母、数字、符号 $ 和 _。
首字符必须非数字。
有效的命名,例如:

let userName;
let test123;
如果命名包括多个单词,通常采用驼峰式命名法(camelCase)。也就是,单词一个接一个,除了第一个单词,其他的每个单词都以大写字母开头:myVeryLongName。

有趣的是,美元符号 '$' 和下划线 '_' 也可以用于变量命名。它们是正常的符号,就跟字母一样,没有任何特殊的含义。

下面的命名是有效的:

let $ = 1; // 使用 "$" 声明一个变量
let _ = 2; // 现在用 "_" 声明一个变量

alert($ + _); // 3
下面的变量命名不正确:

let 1a; // 不能以数字开始

let my-name; // 连字符 '-' 不允许用于变量命名
区分大小写
命名为 apple 和 APPLE 的变量是不同的两个变量。

允许非英文字母,但不推荐
可以使用任何语言,包括西里尔字母(cyrillic letters)甚至是象形文字,就像这样:

let имя = '...';
let 我 = '...';
从技术上讲,这样没问题。这样的命名是完全允许的,但是用英文进行变量命名是国际惯例。哪怕我们正在写一个很小的脚本,它也有可能会被使用很久。某个时候,来自其他国家的人可能会需要阅读它。

保留字
有一张 保留字列表,这张表中的保留字无法用作变量命名,因为它们被用于编程语言本身了。

比如,let、class、return、function 都被保留了。

下面的代码将会抛出一个语法错误:

let let = 5; // 不能用 "let" 来命名一个变量,错误!
let return = 5; // 同样,不能使用 "return",错误!
未采用 use strict 下的赋值
一般,我们需要在使用一个变量前定义它。但是在早期,我们可以不使用 let 进行变量声明,而可以简单地通过赋值来创建一个变量。现在如果我们不在脚本中使用 use strict 声明启用严格模式,这仍然可以正常工作,这是为了保持对旧脚本的兼容。

// 注意:这个例子中没有 "use strict"

num = 5; // 如果变量 "num" 不存在,就会被创建

alert(num); // 5
上面这是个糟糕的做法,严格模式下会报错。

"use strict";

num = 5; // 错误:num 未定义

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表