当前位置: 首页 > article >正文

两周学习js总结

首先回忆一下js es6版本新特性

1.引入模板字符串

2.引入了模块化import

3.引入了let

4.引入箭头函数

下面是全部内容

  1. let 和 const:ES6引入了新的变量声明关键字letconst,它们替代了之前的var关键字。let声明的变量具有块级作用域,不会提升(hoisting),并且不允许重复声明。const声明的变量是常量,值在初始化后不能更改。

  2. 箭头函数:ES6引入了箭头函数,这是一种简洁的函数语法。箭头函数不需要function关键字,并且没有自己的this值,它会从定义它的环境中获取this值。

  3. 模板字符串:ES6引入了模板字符串,允许在字符串中嵌入表达式,使用反引号(`)来定义。

  4. 解构赋值:ES6引入了对象解构和数组解构,允许从数组或对象中提取值,并将其赋给变量。

  5. 扩展运算符:ES6的扩展运算符(...)允许展开数组或对象,用于合并数组或对象,复制数组,以及作为函数参数传递。

  6. 类和继承:ES6引入了class关键字,用于定义类,并通过extends关键字实现继承。

  7. Symbol:ES6引入了Symbol类型,用于创建唯一的值,用于对象属性键。

  8. Map 和 Set:ES6引入了MapSet数据结构,分别用于存储键值对和唯一值的集合。

  9. 数组新方法:ES6在数组上添加了一些新方法,如Array.from()includes()map()filter()forEach()find()some()every()reduce()

  10. Promise:ES6引入了Promise,用于处理异步操作。

  11. 模块化:ES6引入了模块化,通过importexport关键字实现模块的导入和导出。

  12. Proxy:ES6引入了Proxy,用于创建对象的代理,实现基本操作的拦截和自定义。

js三种for循环

  1. for循环:这是最基础的循环类型,通常用于已知循环次数的场景。它通常具有三个组成部分:初始化、条件和更新。

for (let i = 0; i < array.length; i++) { // 执行一些操作 }

在这个例子中,i是循环的计数器。循环开始时,i被初始化为0。每次循环时,i都会增加1,直到i等于array.length

    2.for...in循环:这种循环通常用于遍历对象的属性。

for (let key in object) { if (object.hasOwnProperty(key)) { // 执行一些操作 } }

在这个例子中,key是对象的属性名。注意,for...in循环不仅返回对象自身的属性,还返回其原型链上的属性。因此,使用hasOwnProperty()方法检查属性是否属于对象本身是一个好习惯。

   3.for...of循环:这种循环用于遍历可迭代对象(如数组、字符串、Map、Set等)。

for (let value of array) { // 执行一些操作 }

在这个例子中,value是数组中的每个元素。for...of循环会依次返回数组中的每个元素,直到遍历完整个数组。

请注意,for...infor...of循环在JavaScript中处理的是不同的数据类型,因此它们的用途和行为也会有所不同

undefined 和 null 的区别

typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true


http://www.kler.cn/a/398555.html

相关文章:

  • 【windows笔记】08-Windows中的各种快捷方式、符号链接、目录联接、硬链接的区别和使用方法
  • Git 中的 patch 功能
  • Python教程笔记(2)
  • Java基础——多线程
  • 大模型基础BERT——Transformers的双向编码器表示
  • react 中 useEffect Hook 作用
  • 详解八大排序(三)------(快速排序)
  • LLM性能优化中的一些概念扫盲
  • LabVIEW中的UDP与TCP比较
  • React Native 全栈开发实战班 - 网络与数据之网络请求基础
  • 实习冲刺练习 第二十四天
  • 《Django 5 By Example》阅读笔记:p54-p75
  • 无需制作PE系统盘,完成更换固态,数据迁移
  • Windows docker下载minio出现“Using default tag: latestError response from daemon”
  • Matlab使用深度网络设计器为迁移学习准备网络
  • Spark读MySQL数据rdd分区数受什么影响,读parquet、hdfs、hive、Doris、Kafka呢?
  • spring-gateway网关聚合swagger实现多个服务接口切换
  • OceanBase单表恢复(4.2.1.8)
  • 【SSL证书】腾讯云SSL续签备忘录
  • VScode+opencv——关于opencv多张图片拼接成一张图片的算法
  • 深入剖析Kubernetes监控体系:Prometheus、Metrics Server与Kubernetes监控体系
  • 二五、pxe自动装机
  • C# WPF .NET6程序可以直接运行?不需要装.NET运行时?
  • 【jvm】HotSpot中方法区的演进
  • 【java】值传递引用传递
  • JAVA中对象实体与对象引用有何不同?举例说明