js
奔赴星空
这个作者很懒,什么都没留下…
展开
-
js防抖和节流
html:<body> <input type="text" class="inp"></body>js: let inp = document.querySelector('.inp') let timer = null let flag = true //防抖 inp.oninput = function () { clearTimeout(timer) timer = setTimeout(() => {原创 2022-04-08 14:23:48 · 146 阅读 · 0 评论 -
原生Ajax
Ajax 全名:Async Javascript And XML作用:在网页不刷新的情况下可以请求数据然后实现网页局部刷新或者渲染如何创建一个原生的ajax?//第一步:创建一个XMLHttpRequest的实例 为xhr let xhr = new XMLHttpRequest();//实例里面有一个readyState 他代表请求的状态 //readyState: 0 请求未初始化 刚刚实例化xmlHttpRequest //readyState: 1 客户端与服务器建立链接 调原创 2021-10-05 19:29:14 · 122 阅读 · 0 评论 -
Async和Await
Async1.asayc的用法,它作为一个关键字放到函数前面,这样普通函数就变为了异 步函数2.异步async函数调用,跟普通函数的使用方式一样3.异步async函数返回一个promise对象4.async函数配合await关键字使用(阻塞代码往下执行)是异步方法,但是阻塞式的Awaitawait只能作用在async修饰的方法中,不能单独使用,如果使用报错:await is only valid in async functions and the top level原创 2021-10-04 15:17:04 · 396 阅读 · 1 评论 -
Promise的使用
Promise的实例使用 new 来创建一个promise对象let promise = new Promise((resolve, reject) => { if (success) { resolve(value); // fulfilled } else { reject(error); // rejected }});Promise 有三种状态[PromiseState]: pending(进行中) fulfilled(已成功)原创 2021-10-03 18:04:02 · 150 阅读 · 0 评论 -
普通函数与箭头函数的区别
js中的this指向调用场景普通函数、对象方法、call apply bindclass箭头函数修改this指向call apply bind 三者的区别1.call和apply会立即调用2.call后面的跟的是一个集合,用","分割3.apply后面跟的是一个数组4.bind不会立即调用,用“()”调用,他不会执行改变this的方法,而是返回一个新的改变this的指向的方法this指向总结1.普通函数调用,this指向weindow2.对象方法中,this指向当前对象3.c原创 2021-10-02 13:28:35 · 92 阅读 · 0 评论 -
ES5,ES6class类 继承
ES5中的继承分别为:原型链继承 (子类构造函数的prototype指向父类的实例)call 继承 也会称为构造函数继承组合继承 (原型链继承和call继承)寄生组合继承原型链继承//子类构造函数.prototype=父类的实例//父类构造函数function Parent(x){ this.x = x;}//父类原型Parent.prototype.getX = function (){ console.log("getX",this.x)}原创 2021-09-30 15:49:55 · 193 阅读 · 0 评论 -
js中的数据类型
js中的数据类型数据类型分为两种:基本数据类型和引用数据类型基本数据类型Number(数字)String(字符串)Blooean(布尔值)Null(空)Undefind (未定义)Symbol (唯一值)BigIn (最大值)引用数据类型Object (对象)Function (函数)Array (数组)RegExp (正则)Date (时间)数据类型判断typeof() instanceof() constructor() Obje原创 2021-09-30 12:33:21 · 49 阅读 · 0 评论 -
let var const 的区别
let const var 的区别1.是否存在变量提升?2.是否存在暂时性死区?3.是否允许重复声明变量?4.是否存在块级作用域?5.是否能修改声明的变量?1.是否存在变量提升?变量提升就是在变量声明之前能够使用,代码不会报错 console.log(a);//undefined var a = 10; 2.是否存在暂时性死区?var声明的变量没有暂时性死区 let const存在暂时性死区用let const声明变量之前没法调用console.log(a) //代码会报错原创 2021-09-29 20:00:40 · 67 阅读 · 0 评论 -
数组的方法
1.push()//将参数追加到数组的尾部,返回添加后的数组的长度,原数组会发生改变。2.pop()//从数组尾部删除一个元素,返回这个被删除的元素,原数组发生改变3.unshift()//在数组的最前面添加一个元素,返回的是新数组的长度,原数组发生改变4.shift()//在数组的最前面删除一位,返回的是删除的元素,原数组发生改变5..slice()//数组截取 不传参数,返回原数组,可以传两个参数,//第一个参数:从该参数表示的索引开始截取,直至数组结束,返回这个截取数组,原数组不变原创 2021-09-28 11:51:18 · 54 阅读 · 0 评论