js基础
文章平均质量分 58
不能被吃掉的蚂蚁
这个作者很懒,什么都没留下…
展开
-
JS异步事件轮询
JS异步事件轮询本文参考自【javascript】异步-事件轮询-任务队列-工作队列(job queque)1.什么是异步事件轮询?以下为个人的抽象不严谨理解,仅供参考,深入学习请参考上面链接js在运行是有异步的事件,当读取到异步事件时并不会执行该异步函数,而是将其暂时挂起,并将其添加到一个异步事件队列里面,等待同步执行的程序执行完毕,在回过头来按顺序一个一个执行异步程序,本文的目的就是来探讨异步事件的加载顺序的。注意,异步事件与异步事件之间也有区别,并不是按顺序一个个向异步事件队列里面塞,不是按先原创 2021-03-28 23:24:02 · 792 阅读 · 0 评论 -
ES6 for of 的使用
ES6 for of 的使用一、for of多用于循环遍历数组,因为他能直接获取数组每位的值,而不是像for in一样先获取索引再获取值let arr = ['a','b','c'];for(let item in arr){ console.log(item);//a b c}二、for of 不能直接遍历对象,但通过手动实现迭代器接口是可以的该例子来自ES6系列教程第二篇–Iterator 详解var obj={ 0:"rrr", 1:"444", //实原创 2021-03-02 15:10:00 · 266 阅读 · 0 评论 -
ES6 Generator简单使用与抽象理解
ES6 Generator简单使用与抽象理解1.什么是Generator,及其简单用法。先看代码:注:此处并非最简结构,只是一个总结,如果你对Generator没有初步了解,建议先看恰恰虎的Generator 详解function* fun() { yield "a"; yield "b";}function* forFun() { yield "A"; yield "B"; yield "C";}function* gen(x, y) {原创 2021-03-02 12:01:14 · 152 阅读 · 0 评论 -
ES6 Promise的应用场景及注意事项
ES6 Promise的应用场景及注意事项场景一: 通过接口1得到的结果为参数调用接口二,使用接口二得到的数据作为参数调用接口三,最后返回接口三的数据。代码如下: //模拟接口let fakeInterface = (url, param) => { return new Promise((resolve, reject) => { setTimeout(() => { //模拟一个异步的接口 //想让哪个接口报错(走reject)就把inde原创 2021-02-26 14:35:14 · 579 阅读 · 0 评论 -
promise 在.then中return时并不会return出.then中的data
如题,看一段代码function promise() { let promise = new Promise((resolve, reject) => { setTimeout(() => { resolve(123); }, 1000) }); return promise;}function father(){ return promise().then(a=>{ return a*100; })}console.log原创 2021-02-03 21:37:32 · 4409 阅读 · 0 评论 -
return函数中异步获取到的数据———使用promise
首先来看一段错误代码。(db.query里传入的函数是异步函数)const getList = (id) => { //从数据库里拿数据 let sql = "SELECT * FROM blog WHERE id = "+id; let data; db.query(sql, (err, result) => { if (err) { console.log(err); } else { console.log(r原创 2021-01-25 14:59:36 · 3013 阅读 · 0 评论 -
if for try catch作用域问题
在js中,如果使用var在if、for中 声明变量则为全局变量,如果使用let const则为块级变量try catch为特殊情况在try catch中var声明变量则为全局变量,const则为块级变量,参数err为块级变量(不能把try catch想象为函数,因为如果是函数,try catch中var声明的变量全局是访问不到的,但是实际却是能访问到,但是如果不为函数,err参数并没有经过let或者const声明,因此应该在全局可以访问到,但实际是不能的,因此try catch是一个特殊情况)...原创 2021-01-09 20:37:01 · 318 阅读 · 0 评论 -
ES6 Promise的简单使用及其应用场景
ES6 Promise的简单使用及其应用场景es6主要解决了回调地狱的问题,使代码可读性更强,避免了层层嵌套的结构,在读他人代码时遇到此类问题非常头痛,可读性极差,在过了很久维护自己代码时候也可以便于理解。最简单的结构如下 new Promise((resolve, reject) => { setTimeout(() => {//模仿ajax异步获取数据 var data = "我是从后台获取到的数据"; // reject("错误信息");原创 2020-12-30 22:20:18 · 443 阅读 · 0 评论 -
setInterval第一次不执行与setInterval内函数为普通函数与箭头函数 this指向问题
**setInterval第一次不执行与setInterval内函数为普通函数与箭头函数 this指向问题setInterval第一次不执行setInterval第一次不执行只要调用setInterval前执行以下函数就行(就这样就行,不用想什么骚操作),千万不要听网上不负责任的博客说 setInterval(getNewTime(), 5000);这样也可以,这样是不行的!!!这样只会执行一次,5秒后根本不执行!!!setInterval内函数为箭头函数时 this指向1.根据箭头函数的thi原创 2020-12-29 11:47:44 · 1955 阅读 · 1 评论