16
2020
07
介绍下 promise.all
Promise.all()方法将多个Promise实例包装成一个Promise对象(p),接受一个数组(p1,p2,p3)作为参数,数组中不一定需要都是Promise对象,但是一定具有Iterator接口,如果不是的话,就会调用Promise.resolve将其转化为Promise对象之后再进行处理。 使用Promise.all()生成的Promise对象(p)的状态是由数组中的Promise对象(p1,p2,p3)决定的。如果所有的Prom
作者:ghjk | 分类:js面试题 | 浏览:312 | 评论:0
16
2020
07
js 执行机制、事件循环
JavaScript 语言的一大特点就是单线程,同一个时间只能做一件事。单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着。JavaScript 语言的设计者意识到这个问题,将所有任务分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous),在所有同步任务执行完之前,任何的异步任务是不会执行的。 当我们打开网站时,网页的渲染过程就是一
作者:ghjk | 分类:js面试题 | 浏览:252 | 评论:0
16
2020
07
DOM 事件有哪些阶段?谈谈对事件代理的理解
分为三大阶段:捕获阶段--目标阶段--冒泡阶段事件代理简单说就是:事件不直接绑定到某元素上,而是绑定到该元素的父元素上,进行触发事件操作时(例如'click'),再通过条件判断,执行事件触发后的语句(例如'alert(e.target.innerHTML)')好处:(1)使代码更简洁;(2)节省内存开销
作者:ghjk | 分类:js面试题 | 浏览:247 | 评论:0
16
2020
07
数组去重的方法
1.ES6 的 Setlet arr = [1,1,2,3,4,5,5,6]let arr2 = [...new Set(arr)]2.reduce()let arr = [1,1,2,3,4,5,5,6]let arr2 = arr.reduce(function(ar,cur) { if(!ar.includes(cur)) { ar.push(cur) } return ar},[])3.filter()// 这种方法会有一个问
作者:ghjk | 分类:js面试题 | 浏览:223 | 评论:0
16
2020
07
闭包的概念?优缺点?
闭包的概念:闭包就是能读取其他函数内部变量的函数。优点:避免全局变量的污染希望一个变量长期存储在内存中(缓存变量)缺点:内存泄露(消耗)常驻内存,增加内存使用量
作者:ghjk | 分类:js面试题 | 浏览:219 | 评论:0
16
2020
07
ES5 和 ES6 分别几种方式声明变量
ES5 有俩种:var 和 functionES6 有六种:增加四种,let、const、class 和 import注意:let、const、class声明的全局变量再也不会和全局对象的属性挂钩
作者:ghjk | 分类:js面试题 | 浏览:338 | 评论:0
16
2020
07
判断 js 类型的方式
1. typeof可以判断出'string','number','boolean','undefined','symbol'但判断 typeof(null) 时值为 'object'; 判断数组和对象时值均为 'object'2. instanceof原理是 构造函数的 prototype 属性是否出现在对象的原型链中的任何位置function A() {}let a = new A(
作者:ghjk | 分类:js面试题 | 浏览:233 | 评论:0
15
2020
05
可视区的大小:
(1)innerXXX(不兼容ie)window.innerHeight 可视区高度,包含滚动条宽度window.innerWidth 可视区宽度,包含滚动条宽度(2)document.documentElement.clientXXX(兼容ie)document.documentElement.clientWidth可视区宽度,不包含滚动条宽度document.documentElement.clientHeight可视区高度,不包含滚动条宽度
作者:ghjk | 分类:js面试题 | 浏览:264 | 评论:0
15
2020
05
14
2020
04
对象的原型链组成?
原型链: function A() {}; const a = new A(); a.__proto__===A.prototype?console.log('true'):console.log('false');//true console.log(A.prototype); // {constructor:f} A.prototype.ge
作者:ghjk | 分类:js面试题 | 浏览:275 | 评论:0