前端学习<四>JavaScript基础——04-标识符、关键字、保留字

变量的命名规则(重要)

JS是大小敏感的语言。也就是说 A 和 a 是两个变量。大写字母是可以使用的,比如:

 var A = 250; //变量1var a = 888; //变量2

我们来整理一下变量的命名规则,非常重要。

必须遵守:

  • 只能由字母(A-Z、a-z)、数字(0-9)、下划线(_)、美元符( $ )组成。

  • 不能以数字开头。必须以字母(A-Z、a-z)、下划线(_)或者美元符( $ )开头。变量名中不允许出现空格。尤其注意,变量名中不能出现中划线-,很多人写了多年代码都不知道这一点,让人大跌眼镜。

  • 严格区分大小写(JS 是区分大小写的语言)。

  • 不能使用 JS 语言中保留的「关键字」和「保留字」作为变量名。下一篇文章会讲。

  • 变量名长度不能超过 255 个字符。 -

  • 汉语可以作为变量名。但是不建议使用,因为 low。

建议遵守:

  • 命名要有可读性,方便顾名思义。

  • 建议用驼峰命名法。比如 getElementById、getUserInfo、aaaOrBbbAndCcc

补充

1、不能以数字开头,是为了把数字和字母区分开。

2、JS底层保存标识符的时候,是采用的 Unicode 编码。所以理论上讲,在遵守命名规则的前提下,utf-8中包含的所有内容都可以作为标识符。

标识符

标识符:在 JS 中所有的可以由我们自主命名的都可以称之为标识符。包括:变量名、函数名、属性名、参数名都是属于标识符。

通俗来讲,标识符就是我们写代码时为某些东西起的名字。类似于人出生的时候,起个人名。

标识符的命名规则和变量的命令规则是一样的。关于变量的命名规则,详见上一段。

标识符不能使用语言中保留的关键字保留字

关键字

关键字:被JS赋予了特殊含义的单词。也就是说,关键字是 JS 本身已经使用了的单词,我们不能再用它们充当变量名、函数名等标识符。关键字在开发工具中会显示特殊的颜色。

JS 中的关键字如下:

 if、else、switch、break、case、default、for、in、do、while、​var、let、const、void、function、continue、return、​try、catch、finally、throw、debugger、​this、typeof、instanceof、delete、with、​export、new、class、extends、super、with、yield、import、static、​true、false、null、undefined、NaN

保留字

保留字:实际上就是预留的“关键字”。它们虽然现在还不是关键字,但是未来可能会成为关键字。同样不能用它们当充当变量名、函数名等标识符。

JS 中的保留字如下:

 enum、await​abstract、boolean、byte、char、double、final、float、goto、int、long、native、short、synchronized、transient、volatile、​arguments eval Infinity​# 以下关键字只在严格模式中被当成保留字,在ES6中是属于关键字implements、interface、package、private、protected、public

当你在网上搜“JS保留字”的时候,你会找到很多版本,每个版本都不一样,各有各的说法。如果有不一样的地方,请以我写的为准

其实,以谁的版本作为标准并不重要,因为有些单词到底是关键字还是保留字,并没有严格的界限。JS 关于保留字的规则非常复杂,上放列表中的一些单词在特殊情况下其实是可以使用的。

我们只需要记住一点:上面提到的所有关键字保留字,我们都不要用它们作为变量名或者参数名。不要尝试这些奇怪的做法。

如果你还想了解更多,可以看这几个参考链接:

  • 知乎问答:undefined是保留字吗?

  • 书籍《JavaScript 悟道》的第一章:保留字部分。

赞赏作者

创作不易,你的赞赏和认可,是我更新的最大动力:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/794340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用阿里云试用Elasticsearch学习:1.3 基础入门——搜索-最基本的工具

现在,我们已经学会了如何使用 Elasticsearch 作为一个简单的 NoSQL 风格的分布式文档存储系统。我们可以将一个 JSON 文档扔到 Elasticsearch 里,然后根据 ID 检索。但 Elasticsearch 真正强大之处在于可以从无规律的数据中找出有意义的信息——从“大数…

Liunx进程信号

进程信号 进程信号什么是信号liunx信号种类 前后台进程前后台进程的概念 进程信号的产生键盘产生 阻塞信号信号的捕捉用户态和内核态 信号的捕捉函数 进程信号 什么是信号 信号是Unix、类Unix以及其他POSIX兼容的操作系统中进程间通讯的一种有限制的方式。它是一种异步的通知…

【leetcode面试经典150题】5.多数元素(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…

【MySQL】:深入解析多表查询(上)

🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. 多表关系1.1 一对多1.2 多对多1.3 一对一 二. 多表查询概述2.1 概述2.2 分类…

代码随想录Day45

Day 45 动态规划 part07 今日任务 爬楼梯 (进阶) 零钱兑换 279.完全平方数 代码实现 爬楼梯 (进阶) 完全背包应用,关键在于if判断 public static int climbStairs(int m, int n) {//如果每次可以爬m阶,…

基于Springboot的航班进出港管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的航班进出港管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结…

第十题:金币

题目描述 国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到…

中拔出溜的公司如何落地监控体系

又一项看似技术需求驱动,最终发现还是业务需求驱动的体系化建设。 0. 目录结构 1. 中拔出溜公司的特点2. 达成共识3. 推荐落地路线3.1 理论解析3.2 Loki Promtail Grafana 轻量级零侵入方案3.3 接入traceId3.4 基础设施监控 后记相关 1. 中拔出溜公司的特点 在传…

力扣---删除链表的倒数第 N 个结点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&#xff1a…

解决Word文档中插入MathTypeca公式编号问题(适用于本科、硕士、博士论文编写)

公式编号 这写论文过程中,我们常用到的就是根据章节号要求每写一个公式就自动编号,而不是(1)、(2)之类的。那么如下图这样的是怎么实现的呢? 1.开启Mathtype右编号 这样你才能有一个编号的格式 2.对公式进行格式化…

C++入门(以c为基础)——学习笔记2

1.引用 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空 间。在语法层面,我们认为它和它引用的变量共用同一块内存空间。 可以取多个别名,也可以给别名取别名。 b/c/d本质都是别名&#…

网络通信(二)

UDP服务器接收数据和发送数据 UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。虽然用UDP传输数据不可靠,但它的优点是和TCP比,速度快&#xf…

C++的 stack和queue 的应用和实现【双端队列的理解和应用】

文章目录 stack的理解和应用栈的理解栈的模拟实现string实现stackvector实现stack queue的理解和应用队列的理解队列的模拟实现 双端队列原理的简单理解deque的缺陷为什么选择deque作为stack和queue的底层默认容器STL标准库中对于stack和queue的模拟实现stack的模拟实现queue的…

【LangChain学习之旅】—(19)CAMEL:通过角色扮演进行思考创作内容

【LangChain学习之旅】—(19)CAMEL:通过角色扮演进行思考创作内容 CAMEL 交流式代理框架股票交易场景设计场景和角色设置提示模板设计定义CAMELAgent类,用于管理与语言模型的交互预设角色和任务提示任务指定代理系统消息模板创建 Agent 实例头脑风暴开始总结大模型的成功,…

CSRF介绍及Python实现

CSRF 文章目录 CSRF1. CSRF是什么?2. CSRF可以做什么?3. CSRF漏洞现状4. CSRF的原理5. 举例说明6. CSRF的防御Python示例 1. CSRF是什么? CSRF(Cross-Site Request Forgery),中文名称:跨站请求…

来get属于你的达坦科技令人心动的offer吧!

我们是谁 达坦科技始终致力于打造高性能Al Cloud 基础设施平台DatenLord,积极推动AI应用的落地。DatenLord通过软硬件深度融合的方式,提供高性能存储和高性能网络。为AI 应用提供弹性、便利、经济的基础设施服务,以此满足不同行业客户对AICl…

网络规划(homework 静态路由 and Rip路由表更新)

1、写出下图路由器1和路由器3中的路由表(按直接交付、特定主机交付、特定网络交付、 默认交付的顺序放置路由项) 2、写出Ri更新后的路由表(rip路由协议) 1、将Rj广播的路由消息全部1 2、直接对照着更新Ri中的路由表

SQLite字节码引擎(十二)

返回:SQLite—系列文章目录 上一篇:SQLite的架构(十一)() 下一篇:SQLite—系列文章目录 1、 摘要 SQLite 的工作原理是将 SQL 语句转换为字节码和 然后在虚拟机中运行该字节码。本文档 …

关于地球内部猜想,火山和地震成因“之一”

地球内部是一个核反应堆,核反应堆向外释放能量。地面的火山和地震成因“之一”,太阳等能量可以通过辐射到达地球,南北极能量最强,因为磁场原因,地球上的四季是因为大气流动形成的,大气遵循涡流管的运动规律…

Python网络爬虫(五):b站弹幕

上一篇对b站的视频评论爬取进行了探讨,这一篇是弹幕。直接上代码: import csv import json import re import chardet import requestsheaders = {user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Saf…