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

本文主要是介绍前端学习<四>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 悟道》的第一章:保留字部分。

赞赏作者

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

这篇关于前端学习<四>JavaScript基础——04-标识符、关键字、保留字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/883922

相关文章

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

SpringBoot简单整合ElasticSearch实践

《SpringBoot简单整合ElasticSearch实践》Elasticsearch支持结构化和非结构化数据检索,通过索引创建和倒排索引文档,提高搜索效率,它基于Lucene封装,分为索引库、类型... 目录一:ElasticSearch支持对结构化和非结构化的数据进行检索二:ES的核心概念Index:

Java方法重载与重写之同名方法的双面魔法(最新整理)

《Java方法重载与重写之同名方法的双面魔法(最新整理)》文章介绍了Java中的方法重载Overloading和方法重写Overriding的区别联系,方法重载是指在同一个类中,允许存在多个方法名相同... 目录Java方法重载与重写:同名方法的双面魔法方法重载(Overloading):同门师兄弟的不同绝

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

Java中ArrayList与顺序表示例详解

《Java中ArrayList与顺序表示例详解》顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构,:本文主要介绍Java中ArrayList与... 目录前言一、Java集合框架核心接口与分类ArrayList二、顺序表数据结构中的顺序表三、常用代码手动

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

JAVA线程的周期及调度机制详解

《JAVA线程的周期及调度机制详解》Java线程的生命周期包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED,线程调度依赖操作系统,采用抢占... 目录Java线程的生命周期线程状态转换示例代码JAVA线程调度机制优先级设置示例注意事项JAVA线程