JavaScript的基础数据类型
一、JavaScript中的数组
- 定义
- 数组是一种特殊的对象,用于存储多个值。在JavaScript中,数组可以包含不同的数据类型,如数字、字符串、对象、甚至其他数组。
- 数组的创建有两种常见方式:
- 字面量表示法:
let fruits = ['apple', 'banana', 'cherry']; - 使用
Array构造函数:let numbers = new Array(1, 2, 3);
- 字面量表示法:
- 特性
- 数组的长度可以动态变化。可以通过
push()方法在末尾添加元素,通过pop()方法移除末尾元素。let myArray = [1, 2]; myArray.push(3); // [1, 2, 3] myArray.pop(); // [1, 2] - 数组可以包含不同类型的数据:
let mixedArray = [1, 'string', {name: 'John'}, [4, 5]];
- 数组的长度可以动态变化。可以通过
二、索引
- 定义
- 数组中的每个元素都有一个对应的索引(也叫下标)。在JavaScript中,数组索引从0开始。
- 例如,在数组
[10, 20, 30]中,10的索引是0,20的索引是1,30的索引是2。
- 访问元素
- 通过索引可以访问数组中的元素。使用方括号
[]语法,在方括号内传入索引值。let myArray = [10, 20, 30]; console.log(myArray[1]); // 20
- 通过索引可以访问数组中的元素。使用方括号
- 修改元素
- 也可以通过索引修改数组中的元素。
let myArray = [10, 20, 30]; myArray[1] = 25; console.log(myArray); // [10, 25, 30]
- 也可以通过索引修改数组中的元素。
三、元素
- 定义
- 数组中的每一个值都被称为元素。元素可以是任意数据类型。
- 操作元素
- 除了上面提到的通过索引访问和修改元素外,还有很多方法可以操作数组元素。
- 添加元素
- 除了
push()方法在末尾添加元素外,还可以使用unshift()方法在数组开头添加元素。let myArray = [2, 3]; myArray.unshift(1); console.log(myArray); // [1, 2, 3]
- 除了
- 删除元素
- 除了
pop()方法移除末尾元素外,shift()方法可以移除数组开头的元素,splice()方法可以移除指定位置的一个或多个元素。let myArray = [1, 2, 3]; myArray.shift(); console.log(myArray); // [2, 3] myArray.splice(1, 1); console.log(myArray); // [2]
- 除了
- 遍历元素
- 可以使用
for循环、forEach()方法等遍历数组中的元素。let myArray = [10, 20, 30]; for (let i = 0; i < myArray.length; i++) {console.log(myArray[i]); } myArray.forEach(element => {console.log(element); });
- 可以使用
JavaScript 的常量、数据类型和算术运算符的
常量:在 JavaScript 中,常量是指其值在程序执行过程中不能被改变的量。通常使用关键字const来定义常量。
数据类型:
- 数值类型:包括整数和浮点数。
- 字符串类型:由字符组成的序列。
- 布尔类型:表示真或假两种状态。
- 对象类型:包括普通对象、数组、函数等。
- 特殊类型:如
null(表示空值)和undefined(表示未定义)。
算术运算符:
- 加法运算符:
+,用于两个数的相加。 - 减法运算符:
-,用于两个数的相减。 - 乘法运算符:
*,用于两个数的相乘。 - 除法运算符:
/,用于两个数的相除。 - 取余运算符:
%,用于计算两个数相除的余数。
这张图片是关于JavaScript的概念、作用和组成的总结。
JavaScript的概念、作用组成
1. 概念
JavaScript是一种运行在客户端(浏览器)的编程语言。
2. 作用
- 网页特效:监听用户的一些行为让网页作出对应的反馈。例如,当用户点击按钮时,弹出一个提示框。
- 表单验证:针对表单数据的合法性进行判断。例如,在用户注册页面,检查用户输入的邮箱格式是否正确。
- 数据交互:获取后台的数据,渲染到前端。例如,通过AJAX技术从服务器获取数据并在网页上显示。
- 服务端编程:使用Node.js进行服务端编程。例如,使用Node.js搭建服务器,处理HTTP请求。
3. 组成
- ECMAScript:它规定了JavaScript的语法和基本对象。
- DOM(文档对象模型):它允许JavaScript操作HTML和XML文档中的元素。例如,通过JavaScript改变网页中某个元素的样式或内容。
- BOM(浏览器对象模型):它提供了与浏览器窗口进行交互的对象和方法。例如,通过JavaScript打开或关闭浏览器窗口、获取浏览器的尺寸等。
这张图通过简洁的方式概括了JavaScript的主要特点和组成部分,有助于快速了解JavaScript在网页开发中的应用。
这张图片是关于变量的学习思维导图,主要内容如下:
变量

1. 变量概念和作用
- 容器:变量是一种容器。
- 变量的本质:在内存中开辟一个空间。
- 声明赋值的几种写法:未详细列出,可能包括不同的变量声明和赋值方式。
2. 变量命名规则和规范
- 命名规则和规范
- 规则
- 由字母、数字、下划线、$符号组成,不能以数字开头。
- 不能是关键字和保留字,例如:
var、for、while、const。 - 严格区分大小写。
- 规范
- 变量名必须有意义。
- 遵守小驼峰式命名法。
- 规则
- 练习:大厂面试题。
相关文章:
JavaScript的基础数据类型
一、JavaScript中的数组 定义 数组是一种特殊的对象,用于存储多个值。在JavaScript中,数组可以包含不同的数据类型,如数字、字符串、对象、甚至其他数组。数组的创建有两种常见方式: 字面量表示法:let fruits [apple…...
第三讲 架构详解:“隐语”可信隐私计算开源框架
目录 隐语架构 隐语架构拆解 产品层 算法层 计算层 资源层 互联互通 跨域管控 本文主要是记录参加隐语开源社区推出的第四期隐私计算实训营学习到的相关内容。 隐语架构 隐语架构拆解 产品层 产品定位: 通过可视化产品,降低终端用户的体验和演…...
JDBC编程---Java
目录 一、数据库编程的前置 二、Java的数据库编程----JDBC 1.概念 2.JDBC编程的优点 三.导入MySQL驱动包 四、JDBC编程的实战 1.创造数据源,并设置数据库所在的位置,三条固定写法 2.建立和数据库服务器之间的连接,连接好了后ÿ…...
Python绘制太极八卦
文章目录 系列目录写在前面技术需求1. 图形绘制库的支持2. 图形绘制功能3. 参数化设计4. 绘制控制5. 数据处理6. 用户界面 完整代码代码分析1. rset() 函数2. offset() 函数3. taiji() 函数4. bagua() 函数5. 绘制过程6. 技术亮点 写在后面 系列目录 序号直达链接爱心系列1Pyth…...
Spring框架特性及包下载(Java EE 学习笔记04)
1 Spring 5的新特性 Spring 5是Spring当前最新的版本,与历史版本对比,Spring 5对Spring核心框架进行了修订和更新,增加了很多新特性,如支持响应式编程等。 更新JDK基线 因为Spring 5代码库运行于JDK 8之上,所以Spri…...
Linux关于vim的笔记
Linux关于vim的笔记:(vimtutor打开vim 教程) --------------------------------------------------------------------------------------------------------------------------------- 1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键…...
linux mount nfs开机自动挂载远程目录
要在Linux系统中实现开机自动挂载NFS共享目录,你需要编辑/etc/fstab文件。以下是具体步骤和示例: 确保你的系统已经安装了NFS客户端。如果没有安装,可以使用以下命令安装: sudo apt-install nfs-common 编辑/etc/fstab文件&#…...
【vue】导航守卫
什么是导航守卫 在vue路由切换过程中对行为做个限制 全局前置守卫 route.beforeEach((to, from, next)) > {// to是切换到的路由// from是正要离开的路由// next控制是否允许进入目标路由next(false); //不允许 }路由级别的导航守卫 const routes [{path: /User,name: U…...
基于Matlab实现LDPC编码
在无线通信和数据存储领域,LDPC(低密度奇偶校验码)编码是一种高效、纠错能力强大的错误校正技术。本MATLAB仿真程序全面地展示了如何在AWGN(加性高斯白噪声)信道下应用LDPC编码与BPSK(二进制相移键控&#…...
PostgreSQL 中约束Constraints
在 PostgreSQL 中,约束(Constraints)是用于限制进入数据库表中数据的规则。它们确保数据的准确性和可靠性,通过定义规则来防止无效数据的插入或更新。PostgreSQL 支持多种类型的约束,每种约束都有特定的用途和语法。以…...
✨系统设计时应时刻考虑设计模式基础原则
目录 💫单一职责原则 (Single Responsibility Principle, SRP)💫开放-封闭原则 (Open-Closed Principle, OCP)💫依赖倒转原则 (Dependency Inversion Principle, DIP)💫里氏代换原则 (Liskov Substitution Principle, LSP)&#x…...
【Linux】多线程(下)
目录 一、生产者消费者模型 1.1 概念 1.2 基于阻塞队列 1.3 POSIX信号量 初始化信号量 销毁信号量 等待信号量 发布信号量 1.4 基于环形队列和POSIX信号量 二、线程池 2.1 概念 2.2 代码 三、封装Linux线程库 四、单例模式 4.1 概念 4.2 单例模式的实现方式 4…...
Element-Plus如何修改日期选择器输入框el-date-picker的圆角
使用 el-date-picker 的 style 属性 :style"{ --el-border-radius-base: 10px }"<!-- 日期 --> <el-form-item label"日期" prop"establishmentDate"><el-date-picker v-model"form.establishmentDate" type"dat…...
skywalking es查询整理
索引介绍 sw_records-all 这个索引用于存储所有的采样记录,包括但不限于慢SQL查询、Agent分析得到的数据等。这些记录数据包括Traces、Logs、TopN采样语句和告警信息。它们被用于性能分析和故障排查,帮助开发者和运维团队理解服务的行为和性能特点。 …...
故障排除-------K8s挂载集群外NFS异常
故障排除-------K8s挂载集群外NFS异常 1. 故障现象2. 原因梳理2.1 排查思路2.2 确认yaml内容2.3 创建k8s内的nfs测试2.3.1 创建nfs和svc2.3.2 测试创建pvc2.3.3 测试结果 2.4 NFS服务端故障排除2.4.1 网络阻断排除2.4.2 排除服务状态问题2.4.3 排查NFS权限问题 3. 故障排除 1. …...
Easyexcel(6-单元格合并)
相关文章链接 Easyexcel(1-注解使用)Easyexcel(2-文件读取)Easyexcel(3-文件导出)Easyexcel(4-模板文件)Easyexcel(5-自定义列宽)Easyexcel(6-单…...
解决登录Google账号遇到手机上Google账号无法验证的问题
文章目录 场景小插曲解决方案总结 场景 Google账号在新的设备上登录的时候,会要求在手机的Google上进行确认验证,而如果没有安装Google play就可能出现像我一样没有任何弹框,无法实现验证 小插曲 去年,我在笔记本上登录了Googl…...
【Redis_Day5】String类型
【Redis_Day5】String类型 String操作String的命令set和get:设置、获取键值对mset和mget:批量设置、获取键值对setnx/setex/psetexincr和incrby:对字符串进行加操作decr/decrby:对字符串进行减操作incrbyfloat:浮点数加…...
Python MySQL SQLServer操作
Python MySQL SQLServer操作 Python 可以通过 pymysql 连接 MySQL,通过 pymssql 连接 SQL Server。以下是基础操作和代码实战示例: 一、操作 MySQL:使用 pymysql python 操作数据库流程 1. 安装库 pip install pymysql2. 连接 MySQL 示例 …...
Java技术分享
剖析equals方法 1、对于Object来说,其equals()方法底层实现就是"",都是比较对象的引用是否相等,下为JDK源码。 Object c 1; Object d 1; boolean equals c.equals(d);public boolean equals(Object obj) {return (this obj);…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...
基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
前端调试HTTP状态码
1xx(信息类状态码) 这类状态码表示临时响应,需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分,客户端应继续发送剩余部分。 2xx(成功类状态码) 表示请求已成功被服务器接收、理解并处…...
