首页 > 其他分享 >JS高级篇

JS高级篇

时间:2024-08-22 12:56:47浏览次数:9  
标签:arr console log 高级 JS 数组 字符串 const

JS高级篇

一、参数

1.动态参数(arguments

<script>
  function get() {
    // console.log(arguments)  [2,3,4]
    for (let i = 0; i < arguments.length; i++) {
      console.log(arguments[i])
    }
  }
  get(1, 2, 3)
</script>

控制台展示
75

2.剩余参数(…arr

<script>
  function get(a, b, ...arr) {
    console.log(a)
    console.log(b)
    console.log(arr)
  }
  get(1, 2, 3, 4)
</script>

控制台展示
76

二、展开运算符

<script>

  const arr1 = [1, 2, 3]  
  // 求数组最大值
  console.log(Math.max(...arr1)) // 3
  // 求数组最小值
  console.log(Math.min(...arr1)) // 1
  
  // 合并数组
  const arr2 = [4, 5]
  const arr = [...arr1, ...arr2]
  console.log(arr) // [1, 2, 3, 4, 5]

</script>

三、数组解构

<script>

  const [q, w, e] = [1, 2, 3]
  console.log(q) // 1
  console.log(w) // 2
  console.log(e) // 3

  // 交换2个变量的值
  let a = 1
  let b = 2;
  [b, a] = [a, b]
  console.log(a, b) // 2 1
  
</script>

四、遍历(forEach

<script>
  const arr = ['one', 'two', 'three']
  arr.forEach(function (element, index) {
    console.log(element)  // 数组元素
    console.log(index) // 索引号
  })
</script>

控制台展示
77

五、筛选数组(filter

<script>

  const arr = [10, 20, 30]
  // 返回的符合条件的新数组
  const news = arr.filter(function (element, index) {
    return element >= 20
  }) 
  console.log(news) // [20, 30]
  
</script>

六、内置构造函数

1.对象的拷贝(assign

<script>

  const t = { username: 'tong', age: 20 }
  
  // 获得所有的属性名
  console.log(Object.keys(t))
  
  // 获得所有的属性值
  console.log(Object.values(t))
  
  // 对象的拷贝
  Object.assign(t, { gender: '男' })
  console.log(t)
  
</script>

控制台展示
78

2.创建数组( Array

<script>
	const arr = new Array(1, 2)
	console.log(arr) // [1, 2]
</script>

3.累计器( reduce

<script>

	// arr.reduce(function(累计值, 当前元素){}, 起始值)
	
	const arr = [1, 2]
    const r = arr.reduce((p, item) => p + item)
    console.log(r) // 3
    
</script>

表格整理

关键字作用说明
forEach遍历数组不返回,用于不改变值,经常用于查找打印输出值
filter过滤数组筛选数组元素,并生成新数组
map迭代数组返回新数组,新数组里面的元素是处理之后的值,经常用于处理数据
reduce累计器返回函数累计处理的结果,经常用于求和等

七、改变this指向

1.call()

fn.call(this的指向,实参)

2.apply()

fn.apply(this的指向,[实参])

3.bind()

fn.bind(this的指向)
注意
bind() 方法不会调用函数,但是能改变函数内部this 指向

总结

(1)Array

重点

  1. forEach: 用于遍历数组,替代 for 循环
  2. filter: 过滤数组单元值,生成新数组
  3. map: 迭代原数组,生成新数组
  4. join: 数组元素拼接为字符串,返回字符串
  5. find: 查找元素, 返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined
  6. every: 检测数组所有元素是否都符合指定条件,如果所有元素都通过检测返回 true,否则返回 false

了解

  1. some: 检测数组中的元素是否满足指定条件 如果数组中有元素满足条件返回 true,否则返回 false
  2. concat: 合并两个数组,返回生成新数组
  3. sort: 对原数组单元值排序
  4. splice: 删除或替换原数组单元
  5. reverse: 反转数组
  6. findIndex: 查找元素的索引值

(2)String

重点

关键字说明
length用来获取字符串的度长
split(‘分隔符’)用来将字符串拆分成数组
substring(开始索引号[,结束索引号])用于字符串截取
startsWith(字符串)检测是否以某字符开头
includes(字符串)判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false

了解

关键字说明
toUpperCase将字母转换成大写
toLowerCase将就转换成小写
indexOf检测是否包含某字符
endsWith检测是否以某字符结尾
replace替换字符串,支持正则匹配
match查找字符串,支持正则匹配

(3)Number

<script>
	const num = 10.123456
	// 保留两位小数,四舍五入
    console.log(num.toFixed(2)) // 10.12
</script>

重点

  • toFixed(整数):用于设置保留小数位的长度

标签:arr,console,log,高级,JS,数组,字符串,const
From: https://blog.csdn.net/2301_79614134/article/details/141286883

相关文章

  • Node.js 的 Express
    expressExpress是基于Node.js平台,快速、开放、极简的Web开发框架express的作用和Node.js内置的http模块类似,都是用来创建web服务器的本质就是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法不使用Express能否创建Web服务器?能,使用Node.js提供的原生ht......
  • 触摸输入故障深度剖析:tiptsf.dll修复的高级策略详解
    针对tiptsf.dll文件丢失或损坏导致的触摸输入问题,可以采取以下专业修复步骤:1.安全模式启动:首先,尝试重启计算机进入安全模式。这有助于防止加载可能干扰修复过程的第三方服务。2.系统还原点:检查是否有最近的系统还原点。通过“控制面板”->“系统”->“系统保护”->......
  • setupres.dll丢失解决方案速递:全面修复流程,从简易排查至高级修复策略
    遇到setupres.dll文件丢失问题,可以按照以下步骤尝试修复:1.系统文件扫描:首先,利用系统自带的文件检查工具来修复潜在的系统文件问题。打开命令提示符(以管理员身份运行),输入sfc/scannow并回车,等待扫描并修复完成。2.Windows更新:确保操作系统是最新版本,因为有时这类问题可通......
  • (附源码)NodeJS农产品在线交易平台-计算机毕设 01124
     NodeJS农产品在线交易平台目 录摘 要1绪论1.1研究背景1.2研究意义1.3论文结构与章节安排2 系统分析2.1可行性分析2.2系统流程分析2.2.1数据新增流程2.2.2 数据删除流程2.3 系统功能分析2.3.1功能性分析2.3.2非功能性分析2.4 ......
  • 使用 JsonSchema 校验 JSON数据
    有时候JSON数据格式需要校验是否合法,我们可以使用JsonSchema来校验数据是否合法。引入pom.xmlhttps://json-schema.org/<dependency><groupId>com.networknt</groupId><artifactId>json-schema-validator</artifactId><versio......
  • 使用 Vue I18n 进行 Vue.js 应用的国际化
    随着互联网的全球化发展,开发多语言支持的应用变得越来越重要。Vue.js作为一个流行的前端框架,通过vue-i18n插件,能够非常方便地实现应用的国际化(i18n)。本文将介绍如何在Vue.js应用中使用vue-i18n进行国际化设置。什么是国际化(i18n)?国际化(Internationalization)通常简写......
  • js实现点击图片放大效果
    实现点击图片后弹出一个遮罩层来放大显示图片的功能,可以使用简单的HTML和JavaScript来完成:HTML结构-包含图片和一个用于弹出的遮罩层。CSS样式-设置遮罩层和放大的图片样式。JavaScript逻辑-处理点击事件和遮罩层的显示与隐藏。HTML<!DOCTYPEhtml><htmllang="en......
  • 【精品毕设推荐】基于SSM+jsp的人事管理信息系统设计与实现
    点击下载原文及代码,可辅助在本地配置运行摘 要现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本人事管理信息系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这......
  • 【精品毕设推荐】基于SSM+jsp的社区管理与服务系统设计与实现
    点击下载原文及代码,可辅助在本地配置运行摘要本社区管理与服务系统设计目标是实现社区信息化管理,提高效率,为广大社区用户提供更优质的服务。本文重点阐述了社区管理与服务系统的开发过程,以实际运用为开发背景,基于B/S结构,运用了Java技术和MYSQL数据库进行开发设计,充分保证......
  • 【精品毕设推荐】基于SSM+jsp的人才招聘网站系统设计与实现
    点击下载原文及代码,可辅助在本地配置运行摘要 随着科技的发展,人才招聘的方式也发生着改变。本基于ssm的人才招聘网站正是采用计算机技术和网络设计的新型系统,可以有效的把招聘信息与网络相结合,为用户提供工作帮助和管理需求。本系统采用mysql数据库存储数据,兼容性更强,可跨......