![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
文章平均质量分 75
qq_43514454
这个作者很懒,什么都没留下…
展开
-
Promise、手写一个Promise
Promise1、如何创建一个 new Promise(课堂里让大家背过)2、如何使用 Promise.prototype.then(可查 MDN)3、如何使用 Promise.all(可查 MDN)4、如何使用 Promise.race(可查 MDN)function fn(){ return new Promise((resolve, reject) =>{ //异步代码 成功时调用 resolve(数据) 失败时调用 reject(错误)原创 2021-05-14 14:53:54 · 113 阅读 · 0 评论 -
异步和回调
异步和回调异步面试题拓展异步function getSomething(){ setTimeout(function(){ return 'hello' })}let something = getSomething()console.log(something)//undefined//此处不是因为setTimeout没标时间,而是因为getSomething没有return,因此是undefinded怎么拿到setTimeout里面的返回值:‘hello原创 2021-03-28 10:52:52 · 119 阅读 · 0 评论 -
promise题型整理
promise题一级目录一级目录Promise.reject(‘error’).then( ()=>{console.log(‘success1’)}, ()=>{console.log(‘error1’)} ).then( ()=>{console.log(‘success2’)}, ()=>{console.log(‘error2’)} )//由于第一个then没有抛出拒绝,故第二个then按resolve来执行...原创 2021-03-27 17:08:49 · 94 阅读 · 0 评论 -
this 的值到底是什么
this函数调用面试题回顾老师的理解我的理解[ ] 语法箭头函数一题详解new X函数调用面试题回顾var obj = { foo:function(){ console.log(this) }}var bar =obj.fooobj.foo() //打印出的this是objbar() //打印出的this是windowwindow.n = 'window name'let obj = { n: 'obj name', sayN(){ conso原创 2021-03-27 17:03:08 · 187 阅读 · 0 评论 -
前端框架与库的区别
前端框架与库的区别框架就是提供了前端项目整体解决方案。库就是自己组合来实现项目。你知道哪些 JS 的库或者框架,他们的作用分别是什么?请至少说出 5 个框架就是提供了前端项目整体解决方案。库就是自己组合来实现项目。框架提供提供一整套成型的机制供我们造出同个骨架的玩具(跟其他使用框架的人一样),我们可根据自己的需求喷上不同的颜色而库则是提供各种工具供我们创造玩具库:库是更多是一个封装好的特定的集合,提供给开发者使用,而且是特定于某一方面的集合(方法和函数),库没有控制权,控制权在使用者手中,在库中查询原创 2021-03-26 17:17:34 · 296 阅读 · 0 评论 -
promise
promisepromise用途(为什么用promise):回调有三个问题:1、自己约定的名字不够规范 2、难进行try catch错误处理(比如setTimeout) 3、容易有回调地狱回调地狱是什么:function getUser(successCallback, errorCallback){$.ajax({url:’/user’,success: function(response){successCallback(response)},error: function(xhr)原创 2021-03-22 20:40:06 · 84 阅读 · 0 评论 -
闭包和作用域
闭包和作用域作用域有关题目《一》《二》《三》闭包(隐藏变量,全局不能直接修改)作用域有关题目1、函数返回值由什么确定:调用时传的参数、函数定义时的环境(最近的作用域)《一》let x = 'x'let a= '1'function f1(x){ return x +a};{ let a = '2'; f1('x') //值为多少}//值为 x1调用时定义的环境是function f1 最近的作用域,如果是let a的值,则可直接通过参数传进le原创 2021-03-22 16:40:30 · 277 阅读 · 1 评论 -
数组的面试题分类以及reduce掌握
数组的面试题分类数组的面试题分类数据转换(数组变成对象:使用数组方法)数组中元素修改数组与字符串的转换数组遍历reduce简述数组的面试题分类数据转换(数组变成对象:使用数组方法)reduce面试题把一行内容直接放进result中,但考虑到有两行是在一行里,所以得找到他们的区别,有一者得通过构造完成(因为是对象{ }中)在不知道怎么操作的情况下,可以先把item直接放到result里面result[item.id] = item,这里相当于result[1或23]=itemarr.reduce原创 2021-03-22 09:27:33 · 382 阅读 · 0 评论 -
数组map、filter、reduce以及for循环和forEach、push和concat区别
数组map、filter、reduce以及for循环和forEach、push和concat区别图示图示map n–》nfilter n变少reduce n变1相当于劫匪拿着袋子装乘客的钱(作为第三方计数),一路走过去得到总数[100,200,300].reduce((sum,money) =>{return sum +money} )reduce( (sum,money) =>{ } ,0) 此处的0是sum的初始值,类型也可是**[ ]、{ }**su原创 2021-03-21 10:36:30 · 494 阅读 · 0 评论 -
数组去重:Map、Set、reduce、filter,for
数组去重:map,set,filter,for,reduce第一种方法第二种方法第三种方法第四种方法第五种方法第六种方法(选看)第一种方法function qc(arr1){ let arr=[];for(let i=0;i<arr1.length;i++){ if(arr.indexof(arr1[i])==-1){ arr.push(arr1[i]) } } return arr;}arr1= [1,2,3,3,3,3,4]qc(arr1)第二种方法let arr原创 2021-03-20 16:34:48 · 383 阅读 · 0 评论