42. JavaScript变量、数据类型、运算符

news/2024/12/13 0:57:45/文章来源:https://www.cnblogs.com/hbutmeng/p/18601240

1. JavaScript简介

JavaScript是由 ECMAScript 标准 + DOM + BOM 组成
DOM --- document 指的是页面源码文档对象
BOM --- browser 指的是浏览器对象

2. JavaScript基础

2.1 注释语法

//这是单行注释/*
这是多行注释
这是多行注释
*/

2.2 书写方式

[1]在head或body标签内写script标签,进而写JavaScript代码

[2]script标签src属性引入外部JavaScript代码

 引入外链的script标签内部不能书写JavaScript代码

<script src=""></script>

2.3 基本语法

JavaScript以分号(;)作为语句的结束

不写分号也能运行

2.4 变量与常量

[1]声明变量语法

var 变量名 = 变量值

let 变量名 = 变量值(ES6新语法)

[2]var和let的区别

var声明的变量可以全局使用

let声明的变量只能局部使用

[3]变量命名规范

字母、数字、下划线、$

驼峰体

不能以数字开头

[4]常量

常量一旦定义无法修改

const 常量名 = 常量值

2.5 数据类型

[1]前言

JavaScript拥有动态类型

var x; //此时x是undefined
var x=1; //此时x是数字
var x="hello"; //此时x是字符串

查看数据类型的方式:typeof

[2]数值类型(Number)

JavaScript不区分整型和浮点型,只有一种数值类型Number

[3]字符类型(string)

 (1)书写方法

可以是单引号或双引号(不能做到换行),不能是三引号

可以是反引号(能做到换行)

 (2)字符串的拼接

使用 +号 做拼接

(3)常用方法

统计长度length

移除空白trim(不能移除字符)

切片操作substring(不支持负数索引)、slice(支持负数索引)

大小写转换.toLowerCase()、.toUpperCase()

分割:split(分隔符,个数)

(4)字符串的格式化输出

${} 会向前找定义过的变量值,如果找不到会报错

使用反引号 `  `进行格式化输出

[4]NaN表示不是一个数字

Not a Number

[5]类型转换

parseInt方法:只要开头有数字就可以转,如果开头不是数字则为NaN

parseFloat方法:只要开头有数字就可以转,如果开头不是数字则为NaN

[6]布尔类型Boolean

布尔值是小写:true、false

布尔值为false的情况:0、空字符串、null、undefined、NaN

[7]数组

(1)概念

array,类似于python中的列表

(2)数组常用的方法

方法名称功能描述返回值类型是否改变原数组
forEach/for...of 遍历数组(forEach处理每个元素,for...of可读取元素并自动解包) 不会
concat 合并数组 新数组 不会
join 将数组转化为字符串 字符串 不会
pop 删除数组最后一个元素 删除的数据(即数组最后一个元素)
shift 删除数组第一个元素 删除的数据(即数组第一个元素)
unshift 在数组开头添加元素 新数组长度
push 在数组末尾添加元素 新数组长度
reverse 翻转数组顺序 翻转后的数组
sort 对数组元素排序 排序后的数组
slice 截取数组部分元素 新数组 不会
splice 插入、删除或替换数组元素 被删除或替换的元素
toString 数组转为字符串 字符串 不会
valueOf 获取数组原始值 原始值 不会
indexOf 查找指定元素在数组中的位置 元素索引(若不存在则返回 -1) 不会
lastIndexOf 查找指定元素在数组中最后一次出现的位置 元素索引 不会
map 应用函数映射数组元素 新数组 不会
filter 根据条件筛选数组元素 新数组 不会
every 判断数组所有元素是否都满足条件 布尔值 不会
some 判断数组是否有元素满足条件 布尔值 不会
reduce 按规则累积数组元素生成单个返回值 单一返回值 可以,但通常不会直接改变原数组
rightReduce 类似于reduce,但从数组末尾开始累积 单一返回值 可以,但通常不会直接改变原数组

(3)末尾添加元素push

(4)删除最后一个元素pop

(5)开头添加元素unshift

(6)删除第一个元素shift

(7)合并数组concat

(8)遍历数组forEach

array.forEach(function(currentValue, index, arr), thisValue);
currentValue:数组中正在处理的当前元素。
index(可选):当前元素的索引。
arr(可选):正在遍历的数组。
thisValue(可选):执行回调时使用的 this 值。

一个参数:

遍历数组中的每一个元素

两个参数: 

遍历数组中的每个元素+数据的索引

三个参数: 

遍历数组中的每个元素+数据的索引+数据的来源

(9)插入、删除或替换数组元素splice

splice(起始位置,删除个数,新增的值)

从索引为2的位置向后删除3个元素(包括索引为2的元素)

从索引为2的位置向后删除3个元素,然后在索引为2的位置添加元素"666"

2.6 运算符

[1] 算术运算符

+   加

-    减

*    乘

/    除

%    取余

++   递增

--  递减

var a=10
var res1=a++ //先将a的值复制给res1,然后a自增1(先赋值后自增)
var res2=++a //先将a自增1,然后将a的值赋值给res2(先自增后赋值)
res1
10
res2
12

只要NaN参与运算得到的结果也是NaN
隐式转换:null转换成0,undefined转换成NaN等

[2] 比较运算符

>   大于
<   小于
<=   小于等于
>=   大于等于
==   相等
!=      不相等
===   全等 与相等区别在于会判断数据类型
!==    不全等

 

==为弱等于,如果比较的类型不同,则自动转换为相同的类型,再进行比较。

===为强等于,不作类型转换。

"6" ==6 
true
"6" ===6
false

[3]逻辑运算符

与  &&

或  ||

非  !

隐式转换:NaN 0 控制符 null undefined为false。非0 非空 非NaN的数字 非空字符串转化成true

 

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

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

相关文章

ESP32-WIFI配网优化

前言 之前文章中有介绍过两种 WIFI 配网的方式,如果需要详细了解相关内容可以参考之前的文章: [[ESP32-两种有趣的wifi连接方式]],这里主要对于强制门户认证过程再进行优化和升级。 在强制门户认证中,在生成的网页中,WiFi 名称总是要自己输入,这里总感觉有一点麻烦,前段时…

Excel中使用VBA实现word邮件合并功能

Excel中使用VBA实现word邮件合并功能 代码为窗体程序样式如下:代码: Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpPa…

系统设计精髓

系统设计精髓-稳快灵🛡️ 『稳~高可用性』 ▫️通过冗余和故障转移技术,确保系统几乎无间断运行 ▪️适用于需要7x24小时不间断服务的业务,如云服务、在线交易平台,确保用户随时都能访问服务🚀『快~高吞吐量』 ▫️通过异步处理和负载均衡,提高系统处理请求…

11.20-12-12移动开发记录

数据库和AI调用NETMAUI 1、MySQL搭建 在我的服务器上完成MySQL搭建: [root ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is ??? Server version: 8.0.40 MySQL Community Server - GPLCop…

PCIe扫盲——PCI总线的地址空间分配

PCI总线具有32位数据/地址复用总线,所以其存储地址空间为2的32次方=4GB。也就是PCI上的所有设备共同映射到这4GB上,每个PCI设备占用唯一的一段PCI地址,以便于PCI总线统一寻址。每个PCI设备通过PCI寄存器中的基地址寄存器来指定映射的首地址。如下图所示:注:需要注意的是PC…

低空飞行管理服务监管系统建设方案

在低空经济蓬勃发展的今天,低空飞行活动日益频繁,对低空飞行的管理、服务和监管提出了更高的要求。一个高效、智能的低空飞行管理系统对于确保飞行安全、提升空域利用效率、推动低空经济发展具有重要意义。 1. 建设背景与目标随着无人机技术的进步和应用领域的拓展,低空飞行…

打开浏览器访问网页时,显示无法连接到代理服务器,解决方案

打开浏览器,访问任何网页都提示说检查代理服务器解决方案: 1、win+r打开运行窗口 2、输入inetcpl.cpl进入Internet属性界面3、选择连接-->局域网(LAN)设置4、点击局域网设置,将代理服务器的选框取消勾选5、再次访问网页,就可以正常访问了

SpringCloud Nacos (docker 搭建 项目运行) 基于 Cloud 2022 版本

一、使用docker 安装 nacos 基础镜像 1、安装docker(省略) 2、创建 docker-compose.yml version: 3.7services:nacos:image: nacos/nacos-server:latestcontainer_name: nacosenvironment:- MODE=standalone # 单机模式- PREFER_HOST_MODE=hostname # 使用主机名- NACOS_SE…

20222424 2024-2025-1 《网络与系统攻防技术》实验八实验报告

20222424 2024-2025-1 《网络与系统攻防技术》实验八实验报告 1.实验内容 1.1本周学习内容XSS脚本攻击 CSRF漏洞 burpsuit基本使用方法 DVWA、WebGoat、pikachu网络攻防平台的搭建与使用1.2实验内容及要求(1)Web前端HTML 能正常安装、启停Apache。理解HTML,理解表单,理解GET与…

html基础-表格

表格标签的简单介绍:<table><tr><th></th><td></td></tr> </table> <!--table是表格标签 tr是行 td是每一个单元格 th是表头,有加粗剧中的功能 他们之间是需要互相嵌套 tr必须嵌套在table td和th必须签到到tr之中--> …