当前位置: 首页 > news >正文

JS词法结构

编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序。作为语法的基础,它规定了诸如变量名是什么样的、怎么写注释,以及程序语句之间如何分隔等规则。

2.1程序的文本

JS区分大小写

JS忽略程序记号(token)之间的空格,和换行符。

2.2注释

// 单行注释

/*   */ 多行注释

2.3字面量/直接量(literal)

所谓直接量(literal),就是程序中直接使用的数据值。

2.4标识符和保留字

就是一个名字。JS中标识符必须以字母,下划线,或美元符号开头。后续可以是字母,数字,下划线或美元符号。

保留字:简单的方法是不要使用保留字。 但是 from,set,和target除外,因为安全且常见。

好的方法是用带下划线的标识符,既可以表意,又不会冲突。

2.5Unicode

可以使用unicode做标识符,不建议使用。

2.5.1Unicode转义序列 

\u00e9 或者 \u{E9}

2.5.2 Unicode归一化

非ASCII字符允许同一个字符用不同的编码标识。 \u00E9和\u0301实际屏幕显示相同。

Unicode标准为字符定义了首选编码并规定了归一化例程。这个JS并不负责,需要单独的进行Unicode归一化。

可选的分号 

应当尽量使用分号,分隔语句。

JS用分号分隔语句。可以省略。

两条语句分在两行,原则可以省略分号。

程序末尾 有大括号,也可以省略分号。

分行系统不会自动添加分号, 只有在不添加分号无法解析是才添加语句件的分号。《尽量在语句间加分号的原因》

可以防御性的在语句前面增加分号

;[x, x+1,x+2].forEach(console.log)// 防御:保证这条语句的独立。

<分行系统不会自动添加分号, 只有在不添加分号无法解析是才添加语句件的分号。>的例外:

1,return, throw, yield,break,continue可以单独作为语句,也可以跟随其他表达式。这种情况下,这些保留字后的换行符会强制转化为分号,标识单独一句。

2,++和--操作符,必须与自己操作的表达式位于一行。 a++不能分行。

3,箭头 =>必须和参数列表在同一行。

相关文章:

JS词法结构

编程语言的词法结构是一套基础性规则&#xff0c;用来描述如何使用这门语言来编写程序。作为语法的基础&#xff0c;它规定了诸如变量名是什么样的、怎么写注释&#xff0c;以及程序语句之间如何分隔等规则。 2.1程序的文本 JS区分大小写 JS忽略程序记号&#xff08;token&am…...

程序媛的mac修炼手册-- 如何用Python节省WPS会员费

上篇分享了如何用微博爬虫&#xff0c;咱举例爬了女明星江疏影的微博数据。今天就用这些数据&#xff0c;给大家安利一下怎么用Python实现WPS中部分Excel付费功能。 MacOS系统自带的工具&#xff0c;绝大多数都非常顶&#xff0c;除Numbers外。当然&#xff0c;page比起word来&…...

ASP.NET Core NE8实现HTTP Upgrade和HTTP CONNECT代理服务器

看到一个文章[Go] 不到 100 行代码实现一个支持 CONNECT 动词的 HTTP 服务器 在NET8中如何实现 创建项目为MiniApi 编辑Program.cs文件。 var builder WebApplication.CreateSlimBuilder(args);var app builder.Build();// 将HTTP请求通过协议升级机制转为远程TCP请求&…...

apipost和curl收不到服务器响应的HTTP/1.1 404 Not Found

windows的apipost发送请求后&#xff0c;服务器响应了HTTP/1.1 404 Not Found&#xff0c;但是apipost一直显示发送中。 linux上的curl也一样。 使用wireshark抓包发现收到了响应&#xff0c;但是wireshark识别不了&#xff08;图中是回应404后关闭了连接&#xff09;&#xff…...

javascript:计算一个坐标数组的最小值点、最大值点、中心点

作者&#xff1a;CSDN _乐多_ 本文将介绍使用 javascript 语言计算一个坐标数组的最小值点、最大值点、中心点的代码。 文章目录 一、代码 一、代码 function calculateCenterPoint(points) {if (points.length 0) {return null;}let sumX 0;let sumY 0;let sumZ 0;for …...

使用远程工具连接Linux系统——使用Root用户登录

1、启动虚拟机&#xff0c;输入以下命令 进入root用户 sudo su或 su root修改ssh配置文件 vim /etc/ssh/sshd_config找到PermitRootLogin 并用#注释掉当前行 # PermitRootLogin prohibit-password添加&#xff1a; PermitRootLogin yes键入esc输入:wq保存退出 2、重启服…...

JuiceSSH结合内网穿透实现移动端设备公网远程访问Linux虚拟机

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …...

06-枚举和模式匹配

上一篇&#xff1a;05-使用结构体构建相关数据 在本章中&#xff0c;我们将介绍枚举。枚举允许你通过枚举其可能的变体来定义一种类型。首先&#xff0c;我们将定义并使用一个枚举&#xff0c;以展示枚举如何与数据一起编码意义。接下来&#xff0c;我们将探索一个特别有用的枚…...

【C/C++】C/C++编程——C++ 开发环境搭建

C的开发环境种类繁多&#xff0c;以下是一些常见的C 集成开发环境&#xff1a; AppCode &#xff1a;构建与JetBrains’ IntelliJ IDEA 平台上的用于Objective-C&#xff0c;C,C&#xff0c;Java和Java开发的集成开发环境CLion&#xff1a;来自JetBrains的跨平台的C/C的集成开…...

Go 接口

接口概览 接口大概理解 接口类型是队其他类型行为的概括与抽象 接口类型中&#xff0c;包含函数声明&#xff0c;但没有数据变量接口的作用通过使用接口&#xff0c;可以写出更加灵活和通用的函数&#xff0c;这些函数不用绑定在一个特定的类型实现上Go 接口特征 很多面向对象…...

用 AI 将自拍照 P 进不同艺术作品,谷歌发布「艺术自拍 2」

1 月 24 日消息&#xff0c;谷歌旗下「艺术与文化」应用今日宣布&#xff0c;2018 年推出的「艺术自拍」功能在时隔近六年后&#xff0c;借助生成式 AI 的力量回归。官方表示&#xff0c;「艺术自拍 2」将再次使用户与艺术面对面&#xff0c;重新探访世界各地的艺术、历史和文化…...

SpringSecurity+OAuth2.0 搭建认证中心和资源服务中心

目录 1. OAuth2.0 简介 2. 代码搭建 2.1 认证中心&#xff08;8080端口&#xff09; 2.2 资源服务中心&#xff08;8081端口&#xff09; 3. 测试结果 1. OAuth2.0 简介 OAuth 2.0&#xff08;开放授权 2.0&#xff09;是一个开放标准&#xff0c;用于授权第三方应用程序…...

c# 策略模式

在 C# 中&#xff0c;策略模式是一种行为型设计模式&#xff0c;它定义了一系列算法&#xff0c;并将每个算法封装到具有公共接口的独立类中&#xff0c;使得它们可以互相替换。这样可以使得算法的选择独立于算法的使用者&#xff0c;从而提高了灵活性和可维护性。 以下是策略…...

消息队列RabbitMQ.03.死信交换机的讲解与使用

目录 一、死信队列(延迟队列) 概念讲解 二、确认消息&#xff08;局部方法处理消息&#xff09; 三、代码实战 1.编写生产者代码&#xff0c;配置消息、直连交换机、路由键 1.1代码解析&#xff1a; 2.配置消费者接受类接受直连交换机的路由键 2.1. String msg&#xff…...

人工智能原理实验4(2)——贝叶斯、决策求解汽车评估数据集

&#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1; 汽车数据集 车子具有 buying,maint,doors,persons,lug_boot and safety六种属性&#xff0c;而车子的好坏分为uncc,ucc,good and vgood四种。 &#x1f9e1;&#x1f9e1;贝叶斯求解&#x1f9e1;&#x1f9e1;…...

算力网络:未来计算资源的驱动力

文章目录 前言一、算力网络的基本概况(一)算力网络的基本概念(二)算力网络研究进展二、运营商的算力网络架构(一)算力网络基础设施构成(二)算力网络编排管理(三)能力开放三、算力网络的优势(一)弹性计算(二)降低成本(三)去中心化四、算力网络的应用场景(一)人…...

java动态导入excel按照表头生成数据库表

1、创建接口接收文件 //controller层 PostMapping("/importExcel1")public void importExcel1(HttpServletRequest request, MultipartFile file) {try {waterMeterService.importExcel1(request,file);} catch (Exception e) {throw new RuntimeException(e);}}//se…...

Java 集合List相关面试题

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于java面试题系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基…...

k8s-基础知识(Pod,Deployment,ReplicaSet)

k8s职责 自动化容器部署和复制随时扩展或收缩容器容器分组group&#xff0c;并且提供容器间的负载均衡实时监控&#xff0c;即时故障发现&#xff0c;自动替换 k8s概念及架构 pod pod是容器的容器&#xff0c;可以包含多个container pod是k8s最小可部署单元&#xff0c;容器…...

matlab查看源代码

matlab函数源代码-查看 CtrlD 最简单方便的一种方法&#xff0c;鼠标划中函数名&#xff0c;按CTRLD即可打开函数的m文件...

Ostrakon-VL-8B效果展示:AI识别货架商品、检查消防通道真实案例

Ostrakon-VL-8B效果展示&#xff1a;AI识别货架商品、检查消防通道真实案例 1. 零售行业的视觉智能革命 走进任何一家超市或餐厅&#xff0c;你都会看到员工忙碌地进行各种检查&#xff1a;商品是否摆放整齐、货架是否需要补货、消防通道是否畅通。这些看似简单的工作&#x…...

语音转文字工具推荐:FireRedASR Pro实测,识别准确率超高

语音转文字工具推荐&#xff1a;FireRedASR Pro实测&#xff0c;识别准确率超高 1. 为什么我们需要专业的语音转文字工具&#xff1f; 在日常工作和学习中&#xff0c;语音转文字的需求无处不在。从会议记录到采访整理&#xff0c;从课程笔记到灵感记录&#xff0c;手动转录不…...

AI人脸隐私卫士效果展示:看它如何精准识别并模糊多人合照

AI人脸隐私卫士效果展示&#xff1a;看它如何精准识别并模糊多人合照 1. 效果展示&#xff1a;从家庭合影到百人合照 1.1 家庭聚会照片处理 想象一下这样的场景&#xff1a;你刚刚参加完一场热闹的家庭聚会&#xff0c;手机里存满了欢乐的合影。这些照片中&#xff0c;有近景…...

PP-DocLayoutV3入门必看:精准框定倾斜表格、弯曲公式、竖排文本的实操指南

PP-DocLayoutV3入门必看&#xff1a;精准框定倾斜表格、弯曲公式、竖排文本的实操指南 1. 认识新一代文档布局分析引擎 PP-DocLayoutV3是一个专门用于文档布局分析的智能工具&#xff0c;它能自动识别文档中的各种元素区域。想象一下&#xff0c;你有一张文档照片或扫描件&am…...

别再让串口指示灯‘瞎闪’了!手把手教你用LM358运放做个‘聪明’的LED驱动电路

别再让串口指示灯‘瞎闪’了&#xff01;手把手教你用LM358运放做个‘聪明’的LED驱动电路 调试串口通信时&#xff0c;最让人头疼的莫过于那些"瞎闪"的指示灯——波特率一高&#xff0c;LED就像得了癫痫&#xff0c;微弱的光斑根本分不清是发送还是接收。我曾在一个…...

HY-Motion 1.0应用案例:为AR试衣间生成‘转身→抬手→比划’交互动作流

HY-Motion 1.0应用案例&#xff1a;为AR试衣间生成转身→抬手→比划交互动作流 1. 项目背景与需求 AR试衣间正在改变传统购物体验&#xff0c;但如何让虚拟服装在用户身上自然流动&#xff0c;一直是个技术难题。传统方案要么动作生硬不连贯&#xff0c;要么需要复杂的动作捕…...

MediaPipe人体骨骼检测:零配置Web应用,上传图片秒出骨架图

MediaPipe人体骨骼检测&#xff1a;零配置Web应用&#xff0c;上传图片秒出骨架图 1. 引言&#xff1a;一键式骨骼检测的便捷体验 想象一下这样的场景&#xff1a;健身教练需要快速分析学员的动作姿势&#xff0c;医生希望直观展示患者的骨骼姿态&#xff0c;或者动画师需要参…...

不只是PointNet++:盘点那些依赖pointnet2_ops_lib的热门点云项目(PCT/SnowflakeNet)及一键配置心得

点云深度学习生态中的关键组件&#xff1a;pointnet2_ops_lib深度解析与实战指南 在三维视觉领域&#xff0c;点云数据处理一直是研究热点。不同于传统图像数据&#xff0c;点云具有无序性、稀疏性和非结构化的特点&#xff0c;这给深度学习模型的设计带来了独特挑战。PointNet…...

Cursor试用限制如何解决?go-cursor-help工具三合一方案详解

Cursor试用限制如何解决&#xff1f;go-cursor-help工具三合一方案详解 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro…...

GHelper深度解析:华硕笔记本终极性能调校实战指南

GHelper深度解析&#xff1a;华硕笔记本终极性能调校实战指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: h…...