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

相关文章

Java StringBuilder 实现原理全攻略

《JavaStringBuilder实现原理全攻略》StringBuilder是Java提供的可变字符序列类,位于java.lang包中,专门用于高效处理字符串的拼接和修改操作,本文给大家介绍Ja... 目录一、StringBuilder 基本概述核心特性二、StringBuilder 核心实现2.1 内部

SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

《SpringBootAspectJ切面配合自定义注解实现权限校验的示例详解》本文章介绍了如何通过创建自定义的权限校验注解,配合AspectJ切面拦截注解实现权限校验,本文结合实例代码给大家介绍的非... 目录1. 创建权限校验注解2. 创建ASPectJ切面拦截注解校验权限3. 用法示例A. 参考文章本文

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

Java Stream流与使用操作指南

《JavaStream流与使用操作指南》Stream不是数据结构,而是一种高级的数据处理工具,允许你以声明式的方式处理数据集合,类似于SQL语句操作数据库,本文给大家介绍JavaStream流与使用... 目录一、什么是stream流二、创建stream流1.单列集合创建stream流2.双列集合创建str

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建