[前端开发] JavaScript基础知识 [下]
上篇:JavaScript基础知识 [上]
JavaScript基础知识 [下]
- 字符串
- 数组
- 函数
- 对象
字符串
- 字符串语法规则:单引号、双引号和反引号的使用
- 利用双引号
"
或者单引号'
所括起来 - 双引号中不能嵌套双引号,单引号中不能嵌套单引号
- 如果要在双引号中嵌套双引号或者再单引号中嵌套单引号,需要用转义字符
\
'Did he say \'hi\'?' "Did he say \"hi\"?"
- 字符串默认是在一行
- 如果要将长字符串分成多行, 可以在每一行的尾部使用反斜杠
\
var longstring = 'Hello, nice \ to meet you!'
- 利用双引号
- 字符串方法:常用的字符串操作方法
-
.charAt()
返回指定位置的字符, 参数从0开始编号var name = new String('english'); name.charAt(0)// "e"
- 如果参数为负数,或大于等于字符串长度,
.charAt()
返回空字符串""
- 如果参数为负数,或大于等于字符串长度,
-
.concat()
连接两个字符串,返回一个新字符串,不改变原字符串var name1 = 'english'; var name2 = 'math';name1.concat(name2);//"englishmath"
.concat()
可以接受多个参数'he'.concat('ll', 'o'); //"hello"
- 如果参数不是字符串,那么此方法会先将其转为字符串,再进行连接
- 如果不用此方式,也可以用
+
连接对各字符串, 但是加号如果遇到两个非字符串则会计算, 但是使用 concat 不管怎样都是不计算转字符串
-
.substring()
从原字符串取出子字符串并返回, 第一个参数表示子字符串的开始位置, 第二个参数表示结束位置(返回结果不包含该位置)var name1 = 'english';name1.substring(0,2);//"en"//省略第二个参数, 则表示子字符串一直到原字符串的结束 name1.substring(2);//"glish"//如果第一个参数大于第二个参数, 则会自动更换两个参数位置 name1.substring(2, 0);//"en"//如果参数是负数, 会自动将负数转为0 name1.substring(-2, 2);//"en"
-
.substr()
从原字符串取出子字符串并返回, 第一个参数表示子字符串的开始位置, 第二个参数表示子字符串的长度(和.substring()
不同点)- 省略第二个参数, 则表示子字符串一直到原字符串的结束
- 如果第一个参数是负数, 表示倒数计算的字符位置(从-1开始)
- 如果第二个参数是负数, 会自动将负数转为0
-
.indexOf()
用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是最开始匹配的位置. 如果返回-1
表示不匹配'english'.indexOf('n');//1
- 如果接受第二个参数,则 表示从该位置开始向后匹配
-
.trim()
用于去除字符串两端的空格,返回新字符串" hello world! ".trim // "hello world!"
- 不仅去除空格,还去除制表符
\t
、\v
, 换行符\n
和回车符\r
.
- 不仅去除空格,还去除制表符
-
ES6扩展方法
-
去除前面空格:
.trimStart()
-
去除后面空格:
.trimEnd()
-
.split()
按照给定的规则分割字符串,返回一個由分割出來的字符串组成的数组'hello.nice.to.meet.you'.split('.')//["hello","nice","to","meet","you"]
- 如果分割规则是空字符串,则返回是原字符串的每一个字符组成的一个数组
- 参数省略则数组只包含一个成员,即原字符串
- 该方法接收两个参数是,第一个参数是分割规则,第二个参数是返回的数组最大成员数
-
-
数组
-
数组遍历:for循环、forEach方法、for…of语句的使用
//利用for或者wihle循环 for(var i in array){ 语句; }
- 计算数组长度:
array.length()
- 计算数组长度:
-
数组方法:常用的数组操作方法
-
Array.is Array(数组名称)
返回一个布尔值,表示参数是否为数组,可以弥补typeof运算符的不足(typeof返回是object,没有Array这个表示) -
.push("a",….,"n")
在数组末端添加一个或者多个元素,并且返回添加新元素后的数组长度(该方法会改变原数组) -
可以添加多条数据,中间用逗号分开
-
.pop()
用于删除数组的最后一个元素,并且返回被删除的元素(该方法会改变原数组) -
.shift()
用于删除数组的第一个元素, 返回的是被删除的元素
//可以采用以下方法清空数组 while(item=array.shift());
-
.unshift()
向数组头部添加一个元素,可以添加多个,返回添加完新元素的数组长度 -
.join("分隔符",…,"分隔符")
以指定参数作为分隔符,将所有数组成员连接为一个字符串返回,如果不提供参数,默认用逗号分隔。- 如果数组成员是undefined或null或空位,则会返回一个空字符串
- join和split可以实现数组和字符串的相互转换(数组
arr
;字符串str
)//将数组转为字符串 str = arr.join("");
//将字符串转换为数组 arr = str.split("");
-
.concat()
用于多个数组的合并,将新数组的成员添加到原数组成员的后部,然后返回一个新数组,原数组不变。数组1.concat(数组2,…,数组n)
-
.reverse()
用于颠倒排列的数组元素,返回改变后的数组,该方法将改变原数组。// 字符串反转排列 str.split("").reverse().join("");
-
.indexOf()
返回给定元素在数组中第一次出现的位置(由0开始),没有则返回-1- 可以接受两个参数,第二个参数为开始搜索的位置
-
函数
-
函数声明:函数的定义、调用和传参
function
命令: function命令声明的代码区块,就是一个函数。function 函数名(参数){函数体; }
-
函数名的提升:函数名作用域和提升的规则
- Javascript引擎将函数名视同变量名,因此在声明函数时,整个函数会像变量声明一样被提升到代码头部。
对象
- 是一组键值对
key-value
的集合, 是一种无序的复合数据集合。 - 每一个键名被称为属性,键值可以是任何类型,若键值为函数则把这个键值对应的属性称为方法。
- JavaScript对象:对象的创建、属性和方法的访问
-
Math
对象- js原生对象,用于提供各种数学功能
Math.abs(num) //取绝对值Math.max(1,2,3) //3 如果参数为空返回- infinityMath.min(1,2,3) //1 如果参数为空返回infinityMath.floor(num) //向下取整Math.ceil(num) //向上取整Math.random() //取随机数(0<=random<1) 返回0到1之间的一个伪随机数
-
Date
对象-
js原生时间库,以
1970年1月1日00:00:00
作为时间的零点,可以表示的时间范围是前后各1亿天(单位是毫秒ms
) -
时间戳:格林威治时间起至现在的总秒数
-
格林威治时间:
1970年1月1日00:00:00
-
北京时间:
1970年1月1日08:00:00
-
格林威治和北京时间就是时区的不同
Date.now(): 返回当前时间距离时间零点的毫秒数
-
Date
中的get
方法:获取实例对象某方面的值getTime(): 返回距格林威治时间的毫秒数getDate():返回对应每月的几号getDay():返回星期几(星期日为0,星期一为1,….)getYear():返回距离1900年的年数getFullYear():返回四位的年份getMonth():返回月份(0表示1月)getHours():返回小时(0-23)getMilliseconds():返回毫秒(0-999)getMinutes():返回分钟(0-59)getSeconds():返回秒(0-59)
-
-
相关文章:
[前端开发] JavaScript基础知识 [下]
上篇:JavaScript基础知识 [上] JavaScript基础知识 [下] 字符串数组函数对象 字符串 字符串语法规则:单引号、双引号和反引号的使用 利用双引号"或者单引号所括起来双引号中不能嵌套双引号,单引号中不能嵌套单引号如果要在双引号中嵌套双引号或者…...

新版UI界面影视小程序亲测无问题带详细搭建教程
新版UI界面影视小程序亲测无问题带详细搭建教程 环境php7.0 — fileinfo–redis–sg11 mysql5.5 apache2.4 添加站点php7.0—-创建ftp—-上传后端文件《后端文件修改,/maccms/wxapi/config/dbs.php–修改当前数据库》—-设置ssl—-打开数据库安装cms 安装好后管…...

2024.2.7日总结(小程序开发4)
页面导航 页面导航是页面之间的相互跳转: <a>链接location.href 小程序中实现页面导航的两种方式: 声明式导航 在页面上声明一个<navigator>导航组件通过点击<navigator>组件实现页面跳转 编程式导航 调用小程序的导航API&…...

每日五道java面试题之java基础篇(七)
第一题. HashMap和HashTable有什么区别?其底层实现是什么? 区别 : HashMap⽅法没有synchronized修饰,线程⾮安全,HashTable线程安全;HashMap允许key和value为null,⽽HashTable不允许 底层实现…...
树莓派4B(Raspberry Pi 4B)使用docker搭建单机版nacos [基于docker-compose]
树莓派4B(Raspberry Pi 4B)使用docker搭建单机版nacos [基于docker-compose] 镜像仓库提供的基于arm64架构的nacos镜像很少,我选用的是centralx/nacos-server ,它是基于nacos 2.0.4开发的。 ⚠️ 本文基于docker-compose记述构建单…...
DAY50:完全背包、爬楼梯、322、279
70 爬楼梯 (进阶) 爬楼梯问题在我们刚开始学习动态规划的时候作为入门的问题。当时题目考虑的是1或2种走法。如果将能走的台阶设为M,则能产生进阶的题目。通过求解完全背包问题得到。 题目如下: 题目页面 如果最多能走m个台阶,…...
MySQL性能调优篇(3)-缓存的优化与清理
MySQL数据库缓存的优化与清理 数据库缓存在MySQL中扮演着非常重要的角色,它可以显著提高数据库的性能和响应速度。在本篇博客中,我们将介绍如何优化和清理MySQL数据库的缓存,以进一步提高数据库的效率。 优化缓存 1. 适当调整缓存大小 My…...

Zig、C、Rust的Pk1
Zig、C、Rust的Pk1 github.com上看到“A basic comparitive analysis of C, C, Rust, and Zig.”:https://github.com/CoalNova/BasicCompare/tree/main 里边的代码是9个月之前的,用现在的zig 0.11.0 及0.12-dev都无法通过编译(具体为:zig-w…...

如何用 ChatGPT 做项目管理?
ChatGPT 可以通过创建和维护跨团队项目协作计划,让员工更容易理解他们的角色和职责。 这个协作计划里面会包括每个团队或个人要执行的具体任务,每个任务最后期限和任何事情之 间的依赖关系。 该场景对应的关键词库:(24 个) 项目管理、项目协作计划、跨…...

DS:树及二叉树的相关概念
创作不易,兄弟们来波三连吧!! 一、树的概念及结构 1.1 树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,…...

MATLAB | 情人节画个花瓣venn图?
之前七夕节情人节各种花,相册,爱心啥的都快画够了,今年画个花瓣韦恩图? 花瓣上的数字是仅属于该类的样本数,而中心的数字是属于每一类的样本数 教程部分 0 数据准备 % 给组起名t1 t2 t3...t15 setName compose(t%d,…...
[日常使用] Shell常用命令
Shell是什么? Shell简介 Shell是操作系统的外壳,是用户与操作系统内核之间的主要接口。它接收用户的命令并将其传递给内核执行,然后将执行结果返回给用户。Shell不仅是一个命令解释器,也是一种强大的编程语言。常见的Shell分为图…...
QT+OSG/osgEarth编译之八十七:osgdb_p3d+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_p3d)
文章目录 一、osgdb_p3d介绍二、文件分析三、pro文件四、编译实践一、osgdb_p3d介绍 P3DXML是Panda3D引擎中使用的一种文件格式,用于描述3D场景的层次结构和属性。它是一种基于XML(eXtensible Markup Language)的文本格式,可以被Panda3D引擎读取和解析。 P3DXML文件包含了…...

寒假 day13
1.请编程实现二维数组的杨慧三角 #include<stdio.h> #include<string.h> int main(int argc, const char *argv[]) { int n,i,j;printf("please enter n:");scanf("%d",&n);int arr[n][n];for(i0;i<n;i){for(j0;j<i;j){if(j0 || ij…...

探索微信小程序的奇妙世界:从入门到进阶
文章目录 一、什么是微信小程序1.1 简要介绍微信小程序的定义和特点1.2 解释小程序与传统应用程序的区别 二、小程序的基础知识2.1 微信小程序的架构2.2 微信小程序生命周期的理解2.3 探索小程序的目录结构和文件类型 三、小程序框架和组件3.1 深入了解小程序框架的核心概念和原…...
容器库(4)-std::forward_list
std::forward_list是可以从任何位置快速插入和移除元素的容器,不支持快速随机访问,只支持正向迭代。 本文章的代码库: https://gitee.com/gamestorm577/CppStd 成员函数 构造、析构和赋值 构造函数 可以用元素、元素列表、迭代器或者另…...

Netty Review - 服务端channel注册流程源码解析
文章目录 PreNetty主从Reactor线程模型服务端channel注册流程源码解读入口 serverBootstrap.bind(port) 源码流程图 Pre Netty Review - ServerBootstrap源码解析 Netty Review - NioServerSocketChannel源码分析 Netty主从Reactor线程模型 Netty 使用主从 Reactor 线程模型…...
冒泡排序平均需要跑多少趟:拉马努金Q函数初探
摘要: 拉马努金Q函数在算法分析中的应用,初步体验 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】 我的网站:潮汐朝夕的生活实验室 我的公众号:算法题刷刷 我的知乎&#x…...

Shell 学习笔记(三)-shell变量
Shell 语言是一种动态类型和弱类型语言, 因此,在Shell中无需显示地声明变量, 且变量的类型会根据不同的操作符而发生变化. 静态类型语言: 在程序编译期间就确定变量类型的语言, 如java, C等 动态类型语言: 在程序运行期间才确定变量类型的语言, 如PHP, Python等. 一 shell变量…...
新冠:2022和2024两次新冠感染的对比
第一次 2022年底第一次放开管控,95%以上的人都感染了一次奥密克戎 症状 第一天:流涕,咽痛。 第二天:高烧40度,全身疼痛,动不了。没有胃口,头晕想吐。 吃了白加黑退烧药,清开灵颗粒…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

五、jmeter脚本参数化
目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...
Qt Quick Controls模块功能及架构
Qt Quick Controls是Qt Quick的一个附加模块,提供了一套用于构建完整用户界面的UI控件。在Qt 6.0中,这个模块经历了重大重构和改进。 一、主要功能和特点 1. 架构重构 完全重写了底层架构,与Qt Quick更紧密集成 移除了对Qt Widgets的依赖&…...

WinUI3开发_使用mica效果
简介 Mica(云母)是Windows10/11上的一种现代化效果,是Windows10/11上所使用的Fluent Design(设计语言)里的一个效果,Windows10/11上所使用的Fluent Design皆旨在于打造一个人类、通用和真正感觉与 Windows 一样的设计。 WinUI3就是Windows10/11上的一个…...

【AI News | 20250609】每日AI进展
AI Repos 1、OpenHands-Versa OpenHands-Versa 是一个通用型 AI 智能体,通过结合代码编辑与执行、网络搜索、多模态网络浏览和文件访问等通用工具,在软件工程、网络导航和工作流自动化等多个领域展现出卓越性能。它在 SWE-Bench Multimodal、GAIA 和 Th…...