JavaScript学习(一):词法结构

2024-09-05 11:32
文章标签 java 学习 script 结构 词法

本文主要是介绍JavaScript学习(一):词法结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近期准备学习JavaScript,因为当初只了解一些零散知识,完全形成不了知识体系,而且因为工作不断接触到这块的内容,上网接触的知识越来越冗杂,严重阻碍了学习的进展,所以打算重新学习JavaScript,体系化知识。

学习计划:JavaScript-->hquery--->CSS

JavaScript学习参考书籍:JavaScript权威指南

        

第一章学习:JavaScript的词法结构


2.1  字符集

2.1.1 区分大小写
JavaScript是区分大小写的语言,关键字、变量、函数名和所有标识符都必须采取一致的大小写形式。
但是HTML并不区分大小写,例如:HTML中点击事件 'onclick' 可以写成 'onClick ',但在JavaScript代码中,必须写成onclick;


2.1.2 空格、换行符和格式控制符
JavaScript贵忽略程序中标识之间的空格,多数情况下,JavaScript同样会忽略换行符;


2.1.3 Unicode转义序列
JavaScript定义了一种特殊序列,使用六个ASCII字符来代表任意16位Unicode内码。这些Unicode转义序列均以\u为前缀,其后跟随4个十六进制数。


2.2 注释

JavaScript支持两种注释,
//  ----单行注释
以及
/*   */    ----多行注释,内不能嵌套



2.3 直接量

直接量---程序中直接使用的数据值
例如: 数字、小数、字符串文本、布尔值、正则表达式直接量、空


2.4 标识符和保留字

标识符 -- 用来对变量和函数进行命名,或者用做JavaScript代码中某些循环语句中的跳转位置的标记。
JavaScript标识符必须以字母、下划线或者美元符号开始,后续可以是字母、数字、下划线和美元符号(数字不允许作为首字符出现,以便JavaScript可以轻易区分开标识符和数字)。
*通常我们只是用ASII字母和数字来书写标识符,但是JavaScript允许标识符中出现Unicode字符全集中的字母和数字。


保留字  ---JavaScript把一些标识符拿出来用做自己的关键字
break  case  catch continue  debugger  default
delete do  else false finally for
function if in instanceof new null
return switch this throw true try
typeof var void while with

也有一些保留关键字
class const enum export extends import super

还有一些严格模式下的保留字


2.5 可选的分号

JavaScript使用分号(;)将语句分隔开,增强代码的可读性和简洁性,缺少分隔符,一条语句的结束就成了下一条语句的开始。
有些分号可以省略
在JavaScript中,如果语句各自独占一行,通常可以省略语句之间的分号

细节注意
a = 3;
b = 4;
//---第一个分号可以忽略
a = 3; b = 4;
//---第一个分号不能忽略
JavaScript并不是在所有换行处都填补分号:只有缺少了分号就无法正确解析代码的时候,JavaScript才会填补分号。
也就是如果当前语句和随后的非空格字符不能当成一个整体来解析的话,JavaScript就会在当前语句行结束处填补分号。

一般来讲,如果当前语句和下一行语句无法合并解析,JavaScript则会在第一行后填补分号,但有两个例外
1.设计return 、break和continue语句的场景中,如果这三个关键字后紧跟换行,JavaScript则会在换行处填补分号
return
true;
会解析成
return; true;
也就是说,在return、break和continue在随后的表达式之间不能换行。

2.‘++’ ‘--’ 运算符,这两个表达式可以当做表达式的前缀和后缀,如果用做后缀表达式,他和表达式应当在同一行,否则,行尾将填补分号,同时 ‘++’ ‘--’将会作为下一行代码的前缀操作符并与之一起解析;
x
++
y
会解析为
x;
++y;





这篇关于JavaScript学习(一):词法结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

Java中StopWatch的使用示例详解

《Java中StopWatch的使用示例详解》stopWatch是org.springframework.util包下的一个工具类,使用它可直观的输出代码执行耗时,以及执行时间百分比,这篇文章主要介绍... 目录stopWatch 是org.springframework.util 包下的一个工具类,使用它

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一