
JavaScript/ES6笔记
前端学习过程中相关笔记
Helx_
这个作者很懒,什么都没留下…
展开
-
复习一下Promise
Promise原创 2022-11-20 16:34:50 · 313 阅读 · 0 评论 -
Generator 函数
ES6异步编程解决方案Generator、yield、遍历器原创 2022-11-13 18:05:11 · 192 阅读 · 0 评论 -
图片懒加载 + 节流
<!-- * @Description: 图片懒加载 * @Version: 1.0 * @Autor: Helx * @Date: 2021-12-30 15:14:10 * @LastEditors: Helx * @LastEditTime: 2021-12-30 16:51:49--><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &l.原创 2021-12-30 17:07:47 · 101 阅读 · 0 评论 -
JavaScript 中 apply()、call()、bind() 的用法以及区别
一、作用apply、call、bind、作用都是改变函数执行时的上下文,也就是改变函数运行时this的指向。var content = { name: 'my name'}var name = 'helx';var obj = { name: '你的名字', sayName: function (...args) { console.log('name:', this.name); console.log('args:', args); }}obj.sayN...原创 2021-12-21 19:34:39 · 660 阅读 · 0 评论 -
前端基本的排序算法
1.冒泡排序:通过相邻元素的比较和交换,使得每一趟都能找到未有序数组的最大值或者最小值时间复杂度:最好:O(n)最坏:O(n^2)最平均:O(n^2)function bubbleSort(arr) { console.time('冒泡排序耗时'); let arr = [...arr]; // 做浅拷贝避免影响原数组 for (var i = 0, len = arr.length; i < len; i++ ) { // 为什么arr.le...原创 2021-12-09 23:24:43 · 391 阅读 · 0 评论 -
Set和Map基本用法
一、SetSet本身是一种构造函数,用来生成Set数据结构var s = new Set();var arr = [1,2,1,3,4,3,2,5,5];arr.map(x => s.add(x));// 使用add方法向Set增加数据for(let i of s){ console.log(i)}12345//=》自带去重功能var arr = new Set([1,2,3,4,5,'5',6,7,7,7])arr.size//=》8,Set中5和'5'是不同的原创 2021-12-02 20:18:04 · 792 阅读 · 0 评论 -
Object.defineProperty和Object.defineProperties的使用
关于Object.defineProperty的讲解 =》https://blog.youkuaiyun.com/qq_39258552/article/details/842350501.Object.defineProperty()var obj = {}Object.defineProperty(obj,‘name’,{configurable: false,writable: false,enumerable: false,value: ‘xxxx’})obj.name = 111 //尝试修原创 2021-11-26 00:13:12 · 522 阅读 · 0 评论 -
函数-防抖和节流
<!-- * @Description: * @Version: 1.0 * @Autor: Helx * @Date: 2021-05-16 22:52:23 * @LastEditors: Helx * @LastEditTime: 2021-11-18 19:19:13--><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <met.原创 2021-11-18 19:27:22 · 616 阅读 · 0 评论 -
javaScript-实现深拷贝/浅拷贝
1.浅拷贝浅拷贝:只复制一层对象,当对象的属性是引用类型时,实质复制的是其引用,当引用值发生改变时,也会跟着改变。var shallClone = obj => { var res = {}; for (var key in obj) { //判断是否为自身属性,非继承 if (obj.hasOwnProperty(key)) { res[key] = obj[key]; } } return res;}var obj = { t原创 2021-11-11 17:38:46 · 752 阅读 · 0 评论 -
javascript-数组方法
数组原型提供的方法非常之多,主要分为三种,一种是会改变原数组值的,一种是不会改变自身值的,另外一种是遍历方法。一、改变原数组1.Array.prototype.pop说明:删除数组中最后一个元素,并且 返回这个元素var arr = ['apple', 'banana', 'orange'];var name = arr.pop();name; //'orange'arr;// ['apple', 'banana']2.Array.prototype.push说明:向数组添..原创 2021-11-01 17:02:08 · 482 阅读 · 0 评论 -
javaScript-基本数据类型
JavaScript原始数据一共有7种分别是:null,undefined,string,number,boolean,object,Symbol;其中Symbol是ES6中新增。1.null 在JS中它是被看作不存在的事物,undefined也是从它派生而来,实际上JS中所有对象的都是从它派生。可以通过原型链查看Object.prototype.__proto__ === null 结果是true;null通常被用来清空对象。2.undefined当声明的变量未赋值时便为unde...原创 2021-10-19 23:05:31 · 231 阅读 · 0 评论 -
类型检测 typeof 、instanceof、Object.prototype.toString
typeof // 适合函数类型和基本类型的判断typeof 对应类型的值typeof(1) // => 'number'typeof("null") // => "string"typeof(true) // => "boolean"typeof(false) // => "boolean"typeof(undefined) // => "undefined"typeof(Symbol('sys')) // => "s.原创 2021-09-28 20:14:53 · 142 阅读 · 0 评论