JS新手入门笔记整理:JS语法基础

变量与常量

变量

语法

var 变量名=值;

1、在JavaScript中,给一个变量命名,需要遵循以下2个方面的原则:

  • 变量由字母、下划线、$或数字组成,并且第一个字母必须是字母、下划线或$。
  • 变量不能是系统关键字和保留字。

2、变量的命名一定要区分大小写,如变量“age”与变量“Age”在JavaScript中是两个不同的变量。

3、在JavaScript中,如果想要使用一个变量,一般需要两步:

  • 第1步,变量的声明。
  • 第2步,变量的赋值。

4、所有JavaScript变量都由var声明,一个var也可以同时声明多个变量名,其中,变量名之间必须用英文逗号(,)隔开。

var a=10,b=20,c=30;

5、变量的值在程序运行过程中是可以改变的。


常量

1、在JavaScript中,常量指的是一个不能改变的量。也就是说,常量的值从定义开始就是固定的,一直到程序结束都不会改变。

2、一般情况下,常量名全部采用大写形式,这样一看就知道这个值很特殊,有特殊用途,如var DEBUG = 1。


数据类型

数据类型,指的是变量的“值”的类型。在JavaScript中,数据类型可以分为两种:一种是“基本数据类型”,另外一种是“引用数据类型”。其中,基本数据类型只有一个值,而引用数据类型可以含有多个值。

在JavaScript中,基本数据类型有5种:数字、字符串、布尔值、未定义值和空值。常见的引用数据类型只有一种:对象(数组也是属于对象的一种)。

数字

  • 数字是最基本的数据类型,指的是数学上的数字,如10、-10、3.14等。
  • JavaScript中的数字是不区分“整型(int)”和“浮点型(float)”的。

字符串

  • 字符串就是一串字符。在JavaScript中,字符串都是用英文单引号或英文双引号(注意都是英文)括起来的。
  • 在用单引号括起来的字符串中,不能含有单引号,只能含有双引号。同样的道理,在用双引号括起来的字符串中,也不能含有双引号,只能含有单引号。
  • 如果给数字加上双引号,JavaScript会把这个数字当作“字符串”来处理,而不是当作“数字”来处理。

布尔值

  • 布尔类型的值只有两个:true和false。true表示“真”,false表示“假”。
  • 布尔值最大的用途:选择结构的条件判断。

未定义值

  • 未定义值指的是一个变量虽然已经用var声明了,但是并没有对这个变量进行赋值,此时该变量的值就是“未定义值”。其中,未定义值用undefined表示。

空值

数字、字符串等数据在定义的时候,系统都会分配一定的内存空间。在JavaScript中,空值用null表示。如果一个变量的值等于null,如“var n = null”,则表示系统没有给这个变量n分配内存空间。


运算符

运算符指的是“变量”或“值”进行运算操作的符号。


算术运算符

运算符

说明

举例

+

10+5 //返回15

-

10-5 //返回5

*

10*5 //返回50

/

10/5 //返回2

%

求余

10%4 //返回2

++

自增

var i=10;i++; //返回11

--

自减

var i=10;i--; //返回9


赋值运算符

赋值运算符用于将右边的表达式的值保存到左边的变量中。

运算符

举例

=

var a=“b”

+=

var a+=b;等价于var a=a+b;

-=

var a-=b; 等价于var a=a-b;

*=

var a*=b; 等价于var a=a*b;

/=

var a/=b; 等价于var a=a/b;


比较运算符

比较运算符用于将运算符两边的值或表达式进行比较,如果比较的结果是对的,则返回true;如果比较的结果是错的,则返回false。

运算符

说明

举例

>

大于

2>1 //返回true

<

小于

2<1 //返回false

>=

大于等于

2≥2 //返回true

<=

小于等于

2≤2 //返回true

==

等于

1==2 //返回false

!=

不等于

1!=2 //返回true

等号(=)是赋值运算符,用于将右边的值赋值给左边的变量。双等号(==)是比较运算符,用于比较左右两边的值是否相等。


逻辑运算符

逻辑运算符用于执行“布尔值的运算”,通常和比较运算符结合在一起使用。

运算符

说明

结果

&&

“与”运算

  • 真 && 真 → 真
  • 真 && 假 → 假
  • 假 && 真 → 假
  • 假 && 假 → 假

||

“或”运算

  • 真 || 真 → 真
  • 真 || 假 → 真
  • 假 || 真 → 真
  • 假 || 假 → 假

!

“非”运算

  • !真→假
  • !假→真

条件运算符

条件运算符,也叫作“三目运算符”。在JavaScript中,条件运算符用英文问号(?)表示。

语法

var a=条件 ? 表达式1 :表达式2;

当条件为true时,选择的是“表达式1”,也就是“var a = 表达式1”;当条件为false时,选择的是“表达式2”,也就是“var a = 表达式2”。注意,a只是一个变量名。


表达式与语句

一个表达式包含“操作数”和“操作符”两部分。操作数可以是变量,也可以是常量。操作符指的就是我们之前学的运算符。每一个表达式都会产生一个值。

语句,用英文分号(;)分开的代码。一般情况下,一个分号对应一个语句。

“1+2”是一个表达式,而整一句代码“var a=1+2;”就是一个语句。


数据类型转换

  • 隐式类型转换,指的是JavaScript自动进行的类型转换。
  • 显式类型转换,指的是需要我们手动用代码强制进行的类型转换。

“字符串”转换为“数字”

Number( )

将任何“数字型字符串”转换为数字,如“123"和“3.1415",

parseInt( )

parseFloat( )

  • 可以提取“首字母为数字的任意字符串”中的数字,
  • parseInt( )会提取整数部分,
  • parseFloat( )不仅会提取整数部分,还会提取小数部分。

  • NaN指的是“Not a Number(非数字)”。
  • Number( )方法只能将纯“数字型字符串”转换为数字,不能将其他字符串(即使字符串内有数字字符)转换为数字。
  • parseInt( )和parseFloat( )都是从字符串第1个字符从左到右开始判断。如果第1个字符是数字,则继续判断,直到出现除了数字和小数点之外的字符为止;如果第1个字符是非数字,则直接返回NaN。
  • 首字母是+、-或数字的字符串中,parseInt( )和parseFloat( )也可以转换。

“数字”转换为“字符串”

与空字符串相加

数字和字符串相加,系统会将数字转换成字符串。

toString( )

直接将数字转换成字符串。

  • 很少使用toString( )方法,使用更多的是隐式类型转换的方式(也就是直接跟一个字符串相加)。

转义字符

在默认情况下,某些字符在浏览器是无法显示的,为了能够让这些字符能够显示出来,可以使用这些字符对应的转义字符来代替。

转义字符

说明

\'

英文单引号

\"

英文双引号

\n

换行符

  • 如果是在document.write( )中换行,则应该用<br/>。
  • 如果是在alert( )中换行,则应该用\n。

注释

单行注释

//单行注释

多行注释

/*多行注释*/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uni-app设置地图显示

使用前需到**高德开放平台&#xff08;https://lbs.amap.com/&#xff09;**创建应用并申请Key 登录 高德开放平台&#xff0c;进入“控制台”&#xff0c;如果没有注册账号请先根据页面提示注册账号 打开 “应用管理” -> “我的应用”页面&#xff0c;点击“创建新应用”&…

实验4.4 动态路由OSPF协议的配置

实验4.4 动态路由OSPF协议的配置 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.配置交换机和路由器的接口的IP地址等参数。2.配置动态路由OSPF协议&#xff0c;实现全网互通。 六、任务验收七、任务小结八、知识链接1&#xff0e;OSPF协议概念2&#xff0e;…

CentOS 多节点一键免密登录

文章目录 一、场景说明二、脚本职责三、参数说明四、操作示例五、注意事项 一、场景说明 本自动化脚本旨在为提高研发、测试、运维快速部署应用环境而编写。 脚本遵循拿来即用的原则快速完成 CentOS 系统各应用环境部署工作。 统一研发、测试、生产环境的部署模式、部署结构、…

vue3学习 【2】vite起步和开发工具基本配置

vite的简介 官方文档 刚起步学习&#xff0c;所以我们只需要按照官方文档的入门流程即可。推荐阅读一下官网的为什么使用vite vite目前需要的node版本是18&#xff0c;可以参考上一篇文章的安装nvm&#xff0c;用来进行多版本的node管理。 vite安装与使用 npm create vitela…

Django 7 实现Web便签

一、效果图 二、会用到的知识 目录结构与URL路由注册request与response对象模板基础与模板继承ORM查询后台管理 三、实现步骤 1. terminal 输入 django-admin startapp the_10回车 2. 注册&#xff0c; 在 tutorial子文件夹settings.py INSTALLED_APPS 中括号添加 "the…

普通BUG

IDEA包折叠 如果自动紧凑包名,则有些时候创建新包或类的时候不能达到想要的摆放层级关系,此时右上角搜索按钮搜hide middle,关掉紧凑即可,然后既可以每层一个包不折叠. 效果: 20240105println输出多个参数 int a 10;int b 20;报错println是可以输出多个参数的,但不支持直接用…

Java进阶 1-2 枚举

目录 常量特定方法 职责链模式的枚举实现 状态机模式的枚举实现 多路分发 1、使用枚举类型实现分发 2、使用常量特定方法实现分发 3、使用EnumMap实现分发 4、使用二维数组实现分发 本笔记参考自&#xff1a; 《On Java 中文版》 常量特定方法 在Java中&#xff0c;我们…

软考 软件设计师 查漏补缺

说明建模图 1-1 和图 1-2 是如何保持数据流图平衡。 答&#xff1a;图 1-1 &#xff08;或父图&#xff09;中某加工的输入输出数据流必须与图 1-2 &#xff08;或子图&#xff09;的输入输出数据流在数量和名 字上相同&#xff1b;图 1-1 &#xff08;或父图&#xff09;中的…

智能座舱的下一个价值“爆点”——让“光”更智能

汽车智能化快速升级&#xff0c;智能座舱作为人机交互的主要窗口&#xff0c;交互模态、用户体验也呈现多维度升级。 例如&#xff0c;今年下半年上市的多款高端智能车型纷纷基于高性能座舱硬件平台&#xff0c;集成了AR-HUD、DMS/OMS等高阶功能&#xff0c;同时结合超大屏/多…

新年启新程 | 开门红!菊风中标重庆三峡银行双录及产品销售可回溯系统项目

INTRODUCTION 近年来&#xff0c;随着人们需求的转变和金融科技的高速发展&#xff0c;银行开始朝着数智化方向转型。为顺应客户行为变迁&#xff0c;银行同业积极构建远程银行云服务生态。同时&#xff0c;面对业务的升级以及新的监管要求&#xff0c;现有音视频功能难以满足…

用友U8 Cloud smartweb2.RPC.d SQL注入漏洞

产品介绍 用友U8cloud是用友推出的新一代云ERP&#xff0c;主要聚焦成长型、创新型、集团型企业&#xff0c;提供企业级云ERP整体解决方案。它包含ERP的各项应用&#xff0c;包括iUAP、财务会计、iUFO cloud、供应链与质量管理、人力资源、生产制造、管理会计、资产管理&#…

只有jar包如何调试修改JDK底层源码

背景 有时候在阅读JDK源码的时候&#xff0c;需要调试修改源码&#xff0c;但又只有jar包。这个时候我们可以借助JAVA的endorsed技术。在官方文档如下描述。 Specifying the -Djava.endorsed.dirslib/endorsed system property on the Java command line will force the JVM…

后端中的Dao层、Service层、Impl层、utils层、Controller层

Java Dao层 dao层叫数据访问层&#xff0c;全称为data access object&#xff0c;属于一种比较底层&#xff0c;比较基础的操作&#xff0c;具体到对于某个表、某个实体的增删改查&#xff0c;对外提供稳定访问数据库的方法 Mapper:&#xff08;DAO&#xff09; 访问数据库&am…

22款奔驰GLS450升级香氛负离子 车载香薰

奔驰原厂香氛系统激活原车自带系统&#xff0c;将香气加藏储物盒中&#xff0c;通过系统调节与出风口相结合&#xff0c;再将香味传达至整个车厢&#xff0c;达到净化车厢空气的效果&#xff0c;让整个车厢更加绿色健康&#xff0c;清新淡雅。星骏汇小许Xjh15863 产品功能&…

Linux--系统安全及应用

1.1账号安全控制 用户账号是计算机使用者的身份凭证或标识&#xff0c;每个要访问系统资源的人&#xff0c;必须凭借其用户账号才能进入计算机。在Linux系统中&#xff0c;提供了多种机制来确保用户账号的正当、安全使用。 1.系统账号清理 在Linux系统中&#xff0c;除了用户手…

pod 基础 2

pod 进阶 探针 poststart prestop pod的生命周期开始&#xff1a; 重启&#xff1a;k8s的pod重启策略 deployment的yaml文件只能是Always pod的yaml三种模式都可以。 OnFailure&#xff1a;只有状态码非0才会重启&#xff0c;正常退出是不重启的 Never&#xff1a;正常退…

由浅入深理解C#中的事件

目录 本文较长&#xff0c;给大家提供了目录&#xff0c;可以直接看自己感兴趣的部分。 前言有关事件的概念示例​ 简单示例​ 标准 .NET 事件模式​ 使用泛型版本的标准 .NET 事件模式​ 补充总结 参考前言 前面介绍了C#中的委托&#xff0c;事件的很多部分都与委托…

sqlserver工具插入表语法into新表问题

文章目录 sqlserver工具插入表语法into新表问题 sqlserver工具插入表语法into新表问题 into新表问题 SELECT 1 AS FID, AS FNUMBER,1 AS FVALUE,A AS FVALUE2,名字 AS FNAME, 你的全名 FFULLNAME INTO t_user_mmINSERT INTO t_user_mm VALUES(2,2,2,B,懒人,懒人咖)INSERT I…

FreeRTOS——内存管理知识总结及实战

1 freeRTOS动态创建与静态创建 动态创建&#xff1a;从FreeRTOS 管理的内存堆中申请创建对象所需的内存&#xff0c;在对象删除后&#xff0c; 这块内存释放回FreeRTOS管理的内存堆中 静态创建&#xff1a;需用户提供各种内存空间&#xff0c;并且使用静态方式占用的内存空间一…

VCoder:大语言模型的眼睛

简介 VCoder的一个视觉编码器&#xff0c;能够帮助MLLM更好地理解和分析图像内容。提高模型在识别图像中的对象、理解图像场景方面的能力。它可以帮助模型显示图片中不同物体的轮廓或深度图&#xff08;显示物体距离相机的远近&#xff09;。还能更准确的理解图片中的物体是什…