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

news2024/11/16 9:41:04

变量与常量

变量

语法

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。

注释

单行注释

//单行注释

多行注释

/*多行注释*/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

主浏览器优化之路2——Edge浏览器的卸载与旧版本的重新安装

Edge浏览器的卸载与旧版本的重新安装 引言开整寻找最年轻的她开始卸载原本的Edge工具下载后新版本的安装 结尾 引言 &#xff08;这个前奏有点长&#xff0c;但是其中有一些我的思考顿悟与标题的由来&#xff0c;望耐心&#xff09; 我在思考这个系列的时候 最让我陷入困得是…

电商要怎么学?企业如何进行数字化转型打破市场僵局?

电商要怎么学&#xff1f;企业如何进行数字化转型打破市场僵局&#xff1f; 电商的学习需要从多个方面入手&#xff0c;首先需要了解电商的基本概念和原理&#xff0c;包括电商平台的运营模式、商品推广、客户服务等。此外&#xff0c;还需要掌握电商平台的操作技能&#xff0c…

python 数据容器

数据容器概念 一个可以存储多个元素的python数据类型 python有的数据容器 list(列表) tuple(元组) str(字符串) set(集合) dct(字典) 列表 python的列表的数据类型可以是不同的 my_list ["1",123,True,[123,"3333",d,False]]for item in my_list:p…

kubectl常用命令(全局篇)

格式 -o [cmd] -o json|yaml|wide 如&#xff1a;输出json格式 kubectl get ns ingress-nginx -o json 获取基本信息get #查看集群基本信息 kubectl get cs|pods|nodes|ns|svc|rc|deployments kubectl get cs kubectl get pods kubectl get nodes kubectl get ns kubectl g…

【Linux Shell】8. test 命令

文章目录 【 1. 数值测试 】【 2. 字符串测试 】【 3. 文件测试 】 Shell中的 test 命令用于检查某个条件是否成立&#xff0c;它可以进行数值、字符和文件三个方面的测试。 【 1. 数值测试 】 参数作用-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则…

citeSpace保姆级安装使用教程

citeSpace保姆级安装使用教程 文章目录 citeSpace保姆级安装使用教程CiteSpace功能与参数区安装使用知网数据导出citespace数据导入结果 设置操作隐藏节点 CiteSpace功能与参数区 安装 citeSpace安装教程 citespace下载 网址&#xff1a;https://citespace.podia.com/ 安装之…

应用层网络协议

tags: [“计算机网络”] descripution: “学习应用层的一些常用协议” 网络协议&#xff1a;约定的信息传输的格式&#xff0c;如几个字节是消息头、消息头记录什么信息之类的&#xff1b;c/s架构&#xff1a;不一定是两台计算机&#xff0c;而是两个应用、两个端口工具&#…

【Java集合篇】HashMap、Hashtable 和 ConcurrentHashMap的区别

HashMap、Hashtable和ConcurrentHashMap的区别 ✔️ 三者区别✔️ 线程安全方面✔️继承关系方面✔️ 允不允许null值方面✔️为什么ConcurrentHashMap不允许null值? ✔️ 默认初始容量和扩容机制✔️遍历方式的内部实现上不同 ✔️ 三者区别 ✔️ 线程安全方面 HashMap是非线…

异步任务判断执行和重复使用实现类

主要是展示一下如何在书写异步任务判断的时候&#xff0c;如何根据返回值类型进行重复使用相同接口里面的不同实现类的方法 /*** 父类接口* **/ public interface Exceutor {String getTaskType();void excetuor(String s); }/*** 异步处理任务的任务类型** author yangziqian…

万界星空科技MES系统中的生产管理

MES系统能够帮助企业实现生产计划管理、生产过程控制、产品质量管理、车间库存管理、项目看板管理等&#xff0c;提高企业制造执行能力。 万界星空MES系统特点&#xff1a; 1. 采用强大数据采集引擎、整合数据采集渠道&#xff08;RFID、条码设备、PLC、Sensor、IPC、PC等&…

【JAVA】异常体系

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 Exception&#xff08;异常&#xff09;: Error: 结语 我的其他博客 前言 在Java编程中&#xff0c;异常处理是一个至关…

python练习3【题解///考点列出///错题改正】

一、单选题 1.【单选题】 ——可迭代对象 下列哪个选项是可迭代对象&#xff08; D&#xff09;&#xff1f; A.(1,2,3,4,5) B.[2,3,4,5,6] C.{a:3,b:5} D.以上全部 知识点补充——【可迭代对象】 可迭代对象&#xff08;iterable&#xff09;是指可以通过迭代&#xff…

揭秘人工智能:探索智慧未来

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;数据结构、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. 什么是人工智能?二. 人工智能的关键技术2.1 机器学习2.2 深度学习2.1 计算机…

基于web3.js和ganache实现智能合约调用

目的&#xff1a;智能合约发布到本地以太坊模拟软件ganache并完成交互 准备工作&#xff1a; web3.jsganache模拟软件 ganache参数配置 从ganache获取一个url&#xff0c;和一个账号的地址&#xff0c; url直接使用图中的rpc server位置的数据即可 账号address从下列0x开头…

深度学习(Pytorch版本)

零.前置说明 1、code 2、视频 数据预处理实现_哔哩哔哩_bilibili

RoadMap8:C++中类的封装、继承、多态与构造函数

摘要&#xff1a;在本章中涉及C最核心的内容&#xff0c;本文以C中两种基础的衍生数据结构&#xff1a;结构体和类作为引子&#xff0c;从C的封装、继承与多态三大特性全面讲述如何在类这种数据结构进行体现。在封装中&#xff0c;我们讲解了类和结构体的相似性&#xff1b;在继…

2023南京理工大学通信工程818信号系统及数电考试大纲

注&#xff1a;&#xff08;Δ&#xff09;表示重点内容。具体内容详见博睿泽信息通信考研论坛 参考书目&#xff1a; [1] 钱玲&#xff0c;谷亚林&#xff0c;王海青. 信号与系统&#xff08;第五版&#xff09;. 北京&#xff1a;电子工业出版社 [2] 郑君里&#xff0c;应…

Profinet转Modbus网关助你畅享智能工业

Modbus转Profinet网关&#xff08;XD-MDPN100/200&#xff09;具有广泛的应用价值。无论是汽车制造、机械加工还是能源管理&#xff0c;都可以通过使用该网关&#xff0c;实现设备之间的高效通信。其次&#xff0c;Modbus转Profinet网关&#xff08;XD-MDPN100/200&#xff09;…

JVM篇:直接内存

直接内存 直接内存并不是JVM的内存结构&#xff0c;直接内存是操作系统的内存&#xff0c;Java本身并不能对操作系统的内存进行操作&#xff0c;而是通过调用本地方法。直接内存常用于NIO作为缓冲区存在&#xff0c;分配成本较高但是读写性能好&#xff0c;并且不受JVM内存回收…

产品设计的七个步骤详解

我们生活中使用的大大小小的东西都需要进行产品设计&#xff0c;那么什么是产品设计呢&#xff1f;产品设计是指从制定新产品设计任务到开发企业产品样品截止日期的一系列技术任务。让我分享一些产品设计步骤。 业务分析-要做什么业务分析 首先是制作业务流程图&#xff0c;这…