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集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd