JS基础:JS语法规范详解(最全!)

你好,我是云桃桃。

一个希望帮助更多朋友快速入门 WEB 前端的程序媛。

云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端基础路线”,可获取完整web基础路线导图。

308篇原创内容-更多前端系列内容可以go公众.h:云桃桃

后台回复“前端基础路线”可获取前端基础学习路线

后台回复“前端基础题”可得到前端基础100题汇总,持续更新中

后台回复“前端电子书”可获取20+本精选电子书

前言

今天我们聊聊 JS 的语法。

JS 语法就像是一套规则和指南,它告诉我们如何用正确的方式书写 JavaScript 代码。就像我们在玩游戏时需要遵守游戏规则一样,编写 JavaScript 代码也需要遵守语法规则。

例如,在 JS 中,我们需要用特定的方式来定义变量、使用函数、控制流程等等。如果我们不遵守这些语法规则,代码就可能无法正常运行,或者会出现错误。

好,那我们一起来看看吧。

一、变量声明与赋值

首先,我们来了解如何声明变量和给它们赋值。在 JavaScript 中,使用var关键字来声明变量,=用于为变量赋值。在下面代码中,messge 是变量,它 被赋值为 Hi!

var message
message = 'Hi!'

二、数据类型

JavaScript 有两种类型的值:字面量和变量。

1、字面量

在 JavaScript 中,字面量指的是在代码中直接表示数据值的特殊语法结构。它们是创建数据结构的快捷方式,不需要通过函数或构造器。以下是 JavaScript 中 7 种常见字面量。

  • 数字(Number)字面量

数字字面量可以是整数或浮点数,也可以是科学计数法表示的数值。

let pi = 3.14159 // 圆周率,一个浮点数
let largeNumber = 123456789 // 一个整数
let scientificNotation = 1.23e6 // 科学计数法表示的数
  • 字符串(String)字面量

字符串是由双引号" "或单引号' '包围的文本。它们用于存储如名字、句子或其他形式的文本。比如。

let name = 'Alice Smith' // 使用双引号
let greeting = 'Hello, World!' // 使用单引号
  • 表达式字面量

表达式字面量是由运算符连接的值,它们可以直接计算结果。

let sum = 5 + 7 // 加法运算
let product = 10 * 20 // 乘法运算
  • 数组(Array)字面量

数组字面量用于定义一个数组,元素可以是任意数据类型。

let numbers = [1, 2, 3, 4, 5] // 一个数字数组
let colors = ['red', 'green', 'blue'] // 一个字符串数组
  • 对象(Object)字面量

对象字面量用于创建一个对象,它由一系列的键值对组成。

let person = {firstName: 'John',lastName: 'Doe',age: 30,hobbies: ['reading', 'gaming', 'sports']
} // 一个表示人的JSON对象
  • 函数(Function)字面量

函数字面量用于定义一个函数,它可以包含参数和函数体。

let myGreeting = function (name) {return 'Hello, ' + name + '!'
} // 一个简单的函数let result = myGreeting('桃') // 使用函数并打印结果
  • 正则表达式(RegExp)字面量

正则表达式字面量用于定义一个正则表达式对象。

let regex = /^hello/ // 一个正则表达式,匹配以"hello"开头的字符串

2)变量

变量则像是一个空的盒子,我们可以在里面放入任何我们想要的东西。变量的值可以在程序运行过程中改变。例如,我们可以定义一个变量 x,并将其赋值为 5,然后在后续的代码中,我们可以将 x 的值修改为其他的值。

下面是一个简单的例子:

let x = 5 // 定义一个变量 x,并将其赋值为 5
let y = 'hello' // 定义一个变量 y,并将其赋值为 "hello"
let z = true // 定义一个变量 z,并将其赋值为 true

在这个例子中,x、y、z 都是变量,它们的值分别为 5、"hello"和 true。这些变量的值可以在程序运行过程中根据需要进行修改。

三、操作符

JavaScript 提供了多种操作符来进行数学计算和赋值,比如数字运算符+,-,*,/,%来运算,使用赋值运算符=来赋值给变量。

var x = 5
var y = 10
var sum = x + y // 使用加法运算符
var product = x * y // 使用乘法运算符

四、控制流程

控制流程语句,如下案例中,if和循环for,控制代码的执行流程。

for (var i = 0; i < 5; i++) {console.log(i) // 从0打印到4
}

五、注释

注释是代码中的特殊文本,它们不会被执行,而是用来解释代码。

// 这是一个单行注释
/*
这是一个多行注释
可以用来描述更长的代码段
*/

六、标识符和命名规则

在 JavaScript 中,标识符是用于命名变量、函数等的名称。它们必须以字母、下划线_或美元符号$开始,可以包含字母、数字、下划线或美元符号。

var firstName = 'John'
var _age = 30
var $salary = 5000

为了避免混淆和错误,有一些命名规则需要注意:

  • 只能包含字母、数字、下划线和美元符号

  • 不能以数字开头:例如,123myVariable 就是不合法的标识符。

  • 区分大小写:jsWord 和 jsword 是不一样的变量,写的时候要注意。

var jsWord = 'hello!'
var jsword = 30
  • 避免使用关键字:例如,var、if、for、while 等都是 JavaScript 的关键字,不能作为标识符使用。

  • 尽量使用有意义的名称:例如,myAge 比 a 更具描述性。

  • 采用驼峰命名法:对于多个单词组成的标识符,首字母小写,后面的每个单词首字母大写,例如 myFirstFunction。

var firstNameVal = 'John'
var lastName = 'Doe'
var masterCardNumber = '1234-5678-9101-1114'

如图。

图片

遵循这些规则可以提高代码的可读性和可维护性,让你的代码更容易理解和修改。

OK,本文完。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/320357.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:自增运算符(++)重载

自增运算符&#xff08;&#xff09;分为前置自增和后置自增&#xff0c;它们两者主要的区别是&#xff1a;返回的值不同&#xff0c;以及执行自增操作的顺序不同。 前置自增运算符 &#xff1a; 前置自增运算符首先将操作数加1&#xff0c;然后返回自增后的值。 这意味着如果…

CNN笔记详解

CNN(卷积神经网络) 计算机视觉&#xff0c;当你们听到这一概念的是否好奇计算机到底是怎样知道这个图片是什么的呢&#xff1f;为此提出了卷积神经网络&#xff0c;通过卷积神经网络&#xff0c;计算机就可以识别出图片中的特征&#xff0c;从而识别出图片中的物体。看到这里充…

盘一盘接口测试的那些痛点,你现在会解决了吗

前言 说到接口测试&#xff0c;想必大家一定不会陌生。接口测试就是测试系统组件间&#xff0c;接口对接是否顺畅的一种测试。包括测试数据能否交换、能否传递、能否正常控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系&#xff0c;等等。 由于接口测试主要是检测系统…

2024网络安全面试问题宝典(4万字)

2024网络安全厂商面试问题宝典(4万字) 目录 评分标准网络基础问题 TCP建立连接要进行3次握手&#xff08;syn-syn&#xff0c;ack-ack&#xff09;&#xff0c;而断开连接要进行4次&#xff08;fin-ack-fin-ack&#xff09;TCP&#xff0c;UDP区别&#xff1a;安全常用的协议…

数据库基础--MySQL多表查询之联表查询

联表查询 定义&#xff1a;多张表联合在一起查询&#xff0c;例如学生信息与学生班级表、部门与员工表 创建两张表&#xff0c;主表与从表 CREATE TABLE TestMain(id INT Not NULL AUTO_INCREMENT,nameVARCHAR(10),introduction VARCHAR(255),PRIMARY KEY(id) ); CREATE TAB…

自动驾驶主流芯片及平台架构(二)特斯拉自动驾驶芯片平台介绍

早期 对外采购mobileye EyeQ3 芯片摄像头半集成方案&#xff0c;主要是为了满足快速量产需求&#xff0c;且受制于研发资金不足限制&#xff1b; 中期 采用高算力NVIDIA 芯片平台其他摄像头供应商的特斯拉内部集成方案&#xff0c;mobileye开发节奏无法紧跟特斯拉需求&#xff…

select,poll,epoll

在 Linux Socket 服务器短编程时&#xff0c;为了处理大量客户的连接请求&#xff0c;需要使用非阻塞I/O和复用&#xff0c;select&#xff0c;poll 和 epoll 是 Linux API 提供的I/O复用方式。 \selectpollepoll操作方式遍历遍历回调底层实现数组链表哈希表IO效率每次调用都进…

ROS 2边学边练(43)-- 利用GTest写一个基本测试(C++)

前言 在ROS&#xff08;Robot Operating System&#xff09;中&#xff0c;gtest&#xff08;Google Test&#xff09;是一个广泛使用的C测试框架&#xff0c;用于编写和执行单元测试。这些测试可以验证ROS节点、服务和消息等的正确性和性能。 如果我们需要在写的包中添加测试&…

kubectl_入门_service详解

Service 我们知道 Pod 的生命周期是有限的。可以用 ReplicaSet 和Deployment 来动态的创建和销毁 Pod&#xff0c;每个 Pod 都有自己的 IP 地址&#xff0c;但是如果 Pod 重建了的话那么他的 IP 很有可能也就变化了。 这就会带来一个问题&#xff1a;比如我们有一些后端的 Po…

Flink时间语义 | 大数据技术

⭐简单说两句⭐ ✨ 正在努力的小叮当~ &#x1f496; 超级爱分享&#xff0c;分享各种有趣干货&#xff01; &#x1f469;‍&#x1f4bb; 提供&#xff1a;模拟面试 | 简历诊断 | 独家简历模板 &#x1f308; 感谢关注&#xff0c;关注了你就是我的超级粉丝啦&#xff01; &a…

【基于MAX98357的Minimax(百度)长文本语音合成TTS 接入教程】

【基于MAX98357的Minimax&#xff08;百度&#xff09;长文本语音合成TTS 接入教程】 1. 前言2. 先决条件2.1 硬件准备2.2 软件准备2.3 接线 3. 核心代码3.1 驱动实现3.2 代码解析 4. 播放文本5. 结论 视频地址&#xff1a; SeeedXIAO ESP32S3 Sense【基于MAX98357的Minimax&am…

redis中的双写一致性问题

双写一致性问题 1.先删除缓存或者先修改数据库都可能出现脏数据。 2.删除两次缓存&#xff0c;可以在一定程度上降低脏数据的出现。 3.延时是因为数据库一般采用主从分离&#xff0c;读写分离。延迟一会是让主节点把数据同步到从节点。 1.读写锁保证数据的强一致性 因为一般放…

监视器和显示器的区别,普通硬盘和监控硬盘的区别

监视器与显示器的区别&#xff0c;你真的知道吗&#xff1f; 中小型视频监控系统中&#xff0c;显示系统是最能展现效果的一个重要环节&#xff0c;显示系统的优劣将直接影响视频监控系统的用户体验满意度。 中小型视频监控系统中&#xff0c;显示系统是最能展现效果的一个重要…

Linux字符设备驱动-详解与实操:驱动架构、设备树、Pinctrl子系统和GPIO子系统、platform、设备树下的platform

如何编写一个驱动程序&#xff1a; &#xff08;1&#xff09;确定主设备号 &#xff08;2&#xff09;定义自己的file_operations结构体&#xff1a; 包含对应的open(drv_open)/read(drv_read)等设备操作函数&#xff0c;需要到内核中去注册 &#xff08;3&#xff09;实现…

【微服务】服务保护(通过Sentinel解决雪崩问题)

Sentinel解决雪崩问题 雪崩问题服务保护方案服务降级保护 服务保护技术SentinelFallback服务熔断 雪崩问题 在微服务调用链中如果有一个服务的问题导致整条链上的服务都不可用&#xff0c;称为雪崩 原因 微服务之间的相互调用&#xff0c;服务提供者出现故障服务的消费者没有…

与Apollo共创生态:让智驾技术为各行业发展赋能

目录 一、引言 二、Apollo七周年大会主要内容回顾 2.1活动回顾链接 2.2Apollo项目介绍 2.2.1Apollo项目发展介绍 2.2.2实验用车传感器介绍 2.2.3硬件连接概述 2.2.4软件概述 2.3Apollo X 企业自动驾驶解决方案介绍 2.3.1Apollo X 企业自动驾驶解决方案优势 2.3.2 Ap…

报错(已解决):无法加载文件 D:\code\NodeJs\pnpm.ps1,因为在此系统上禁止运行脚本。

问题&#xff1a; 在vscode运行uniapp项目需要拉取全部依赖&#xff0c;需要使用到pnpm&#xff0c;在vscode终端运行命令&#xff1a;pnpm install后报错&#xff1a; 解决办法&#xff1a; 1&#xff1a;我未安装pnpm&#xff0c;首先打开电脑cmd&#xff0c;运行下列命令&a…

2024中国(江西)国际先进陶瓷材料及智能装备博览会

2024中国&#xff08;江西&#xff09;国际先进陶瓷材料及智能装备博览会 “中国&#xff08;江西&#xff09;国际先进陶瓷材料及智能装备博览会” 陶瓷三新展 &#xff08;新材料、新装备、新技术&#xff09; 绿色智能、引领未来 2024年11月1日-11月3日 中国江西 南昌…

初识指针(2)<C语言>

前言 前文介绍完了一些指针基本概念&#xff0c;下面介绍一下&#xff0c;const关键字、指针的运算、野指针的成因以及避免&#xff0c;assert函数等。 目录 const&#xff08;常属性&#xff09; 变量的常属性 指针的常属性 指针的运算 ①指针 -整数 ②指针-指针 ③指针与…

浅析扩散模型与图像生成【应用篇】(二十一)——DALLE·2

21. Hierarchical Text-Conditional Image Generation with CLIP Latents 该文提出一种基于层级式扩散模型的由文本生成图像的方法&#xff0c;也就是大名鼎鼎的DALLE2。在DALLE2之前呢&#xff0c;OpenAI团队已经推出了DALLE和GLIDE两个文生图模型了&#xff0c;其中DALLE是基…