
es6
文章平均质量分 54
万迹
这个作者很懒,什么都没留下…
展开
-
js面向对象继承_构造函数继承与es6中的extends继承
作用主要作用是实现方法和属性的复用方法一 父类构造函数法通过调用父类的构造函数来使得子类继承父类的属性和方法缺点 => 只 继承了 父类实例的相关属性和方法 原型对象上的属性和方法没有继承function Cat(name, age) { this.name = name; this.age = age;}Cat.prototype.say = function () { console.log("喵喵喵");}function blueCat(name, age原创 2021-09-23 16:59:39 · 323 阅读 · 0 评论 -
简易jsonp建立介绍和利用允许跨域调用京东的某些商品接口
jsonp使用原理原理:引入资源不受同源策略的限制.因为script标签支持跨域访问,所以我们可以创建script标签,src指向一个跨域文件。那么,该跨域文件的响应内容,就变成script标签内的内容了。所以,该内容也可以被理解成是正在被执行的js代码。如果该代码中有一个正在被执行的函数,该函数中又有参数。我们就可以把这个参数理解成服务器传给客户端的数据 (函数的调用)。客户端去定义这个函数,我们就能够对参数做任意处理了举个例子:先建立一个js文件,此文件里面只写一个函数原创 2021-09-17 20:41:22 · 270 阅读 · 0 评论 -
event.loop主线程、宏任务、微任务的执行流程
主线程:同步代码微任务:promise的then和catch方法宏任务:计时器、延时器等异步代码然后一直循环判断是否主线程执行完毕 -> 微任务 -> (判断是否还有新的微任务,有的话加入到后面) ->宏任务 -> 微任务 -> (判断是否还有新的微任务,有的话加入到后面)-> 后续一直循环查看是否存在宏任务和微任务 console.log("我是主线程1"); let pm = new Promise(function (re.原创 2021-09-16 20:39:08 · 284 阅读 · 0 评论 -
es6的async函数的作用与用法
作用async的作用就是将promise和生成器的效果融合了一下,promise主要用于解决回调地狱,也就是将异步代码同步封装。所以async同样能达到这个效果,而它达成效果依赖的则是生成器的特性。创建async函数创建async函数的方法很简单,在function前面加上async即可 async function fn() { } var fn = async function () { } document.onclick = async funct原创 2021-09-16 20:23:30 · 1650 阅读 · 0 评论 -
promise解决回调函数噩梦以及封装异步操作
存在由来回调函数噩梦(恐怖回调),也被称为恶魔金字塔,指如ajax依赖调用时,回调函数会层层嵌套,而这种层层嵌套的写法,往往会让人难以理解,所以称之为噩梦。例如:服务器中有3个txt文件,我们需要在html上,通过js中的异步的ajax,分别获取这3个文件的内容,假设这3个文件分别存储的数据为1、2、3,那么我希望在js中,能够求出1+2+3,把6输出。解决此类问题,首先想到的就是回调嵌套 var str = ""; $.ajax({ type: "get",原创 2021-09-15 21:03:47 · 731 阅读 · 0 评论 -
原生js的ajax封装
let $ = { get: function ({ url, data = "", async = true, dataType = "text", success }) { let xhr = new XMLHttpRequest(); if (typeof (data) == Object) { let str = ""; for (const key in data) { st原创 2021-09-15 19:03:14 · 105 阅读 · 0 评论 -
es6生成器与keys、values、entries遍历方法
作用可以在一个函数中定义多个返回值,通过next()依次获取返回值。//定义生成器时,与普通函数的区别就是function后面的*function* generation() { yield "第一次调用"; yield "第二次调用"; return "最后一次调用"; } let test = generation(); console.log(test.next().value原创 2021-09-07 10:10:56 · 592 阅读 · 0 评论 -
原生js、Axios、Ajax、Fetch四种请求方式
方法一:原生js其他更简单的方式基本上都是基于原生js衍生来的/* open method (get post) url 纯净的地址 params 参数*/function ajax(method,url,fn,params){ console.log("进入方法"); var xhr = new XMLHttpRequest(); // GET 有参数 if(method.toUpperCase() =="GET" &am原创 2020-10-20 19:32:58 · 2387 阅读 · 0 评论 -
js回调函数的用途与写法
用途一般情况下回调函数都用在页面与服务器的异步交互,以解决页面在提交请求后无法获得到服务器反馈的数据,为什么会出现面在提交请求后无法获得到服务器反馈的数据呢?首先来了解js的事件执行方式,如图js在执行程序时,所有代码都在执行栈中,此时都是同步在执行,但在运行代码时如果遇见事件绑定、计时器会将抛到异步任务队列里面等待js引擎执行,然后继续执行在执行栈中的代码,于此同时,被抛到异步执行队列里面的计时器会执行等待的时间,如果等待时间结束,则会将此事件抛到执行队列里面。执行栈里面的代码执行完成后,程序会去原创 2020-10-20 21:49:15 · 2827 阅读 · 0 评论 -
js迭代器与生成器
迭代器背景1.什么是迭代器从一个数据集合中按照一定的顺序,不断取出数据的过程2.迭代和循环有什么区别?迭代强调的是依次去数据,并不保证取多少,也不保证所有的数据都要取完遍历:把整个数据依次的全部取出3.迭代器对迭代过程的封装,在不同语言中有不同的表现形式,通常是一个对象。4.迭代模式一种设计模式,用于统一迭代过程,并且规范了迭代器规格。–迭代器具有得到下一个数据的能力–迭代器具有判断是否还有后续数据的能力JS中迭代器JS规定如果一个对象具有 next(),并且该方法能够返回一个原创 2020-10-24 16:39:25 · 1221 阅读 · 2 评论 -
js的属性提示符与存储器属性
属性提示符Property Descriptor 属性描述符这也是直接 对象名.属性 方式给对象添加一个属性的底层方法Object.getOwnPropertyDescriptor(对象,属性名) 或Object.getOwnPropertyDescriptors(对象)可以得到一个属性的描述符 let obj = { name: "zyl", age: 20 } console.log( Objec原创 2020-10-27 21:19:33 · 565 阅读 · 1 评论 -
js的Set和Map集合
Set作用:用于存放不重复的数据创建:let set1 = new Set(); //创建一个没有任何内容的set集合let set2 = new Set("LOLFPXIGRNGSN");//具有初始化数值的set集合可以看到打印出来的结果没有重复的字母属性(由于属性有很多,这里只介绍常用的几种) - add 添加到set的最后一位 - has 判断set集合中是否存在该元素 - delete 删除某个数据 - clear 清空集合里面的数据 - size 获取s原创 2020-10-28 21:30:14 · 396 阅读 · 0 评论