
js
文章平均质量分 91
聪明可爱小轩轩
欢迎关注公众号:聪明可爱小轩轩
展开
-
手撕代码之Promise的实现(附源码)
ES6已经普及很多年了,我们早已过去了callback时代。公司要求也不再是停留在promise的使用上了。所以本文带大家一起从零开始写自己的 Promise,剖析其内在原理。1、promise 基本结构1.1 状态我们都知道promise 有三种状态PendingResolvedRejected并且promise 的状态是不可逆的1.2 参数每一个 Promise 都有两个 函数参数,分别是resolved 成功状态rejected 失败状态1.3 方法通过查看 P.原创 2021-01-11 21:59:50 · 571 阅读 · 0 评论 -
前端面试之类型那些事(九) --- 基本类型、引用类型、类型转换、类型检测
最近在准备面试,感觉好些东西了解,但是了解的深度有限。自己就总结了几个模块,打算强化一下。如果你感觉我的文章对你有帮助,请点赞。如果感觉有哪些不足之处,可以留言。让我们一同进步,学习!!!最后在说明一下,这个系列我会一直写下去。如果,你有什么好的方向,也可以提出来。我们都知道JS是一个弱类型的语言。在过去仅仅是var代替了所有,ES6之后又引入了let,const。虽然在写的时候,没有那么多是区别,但是实际计算的时候,该是什么还是什么。基本类型,引用类型总体来说,JS分为基本类型,引用类型。.原创 2020-05-14 19:08:54 · 238 阅读 · 0 评论 -
前端面试之原型链那些事(七)
最近在准备面试,感觉好些东西了解,但是了解的深度有限。自己就总结了几个模块,打算强化一下。如果你感觉我的文章对你有帮助,请点赞。如果感觉有哪些不足之处,可以留言。让我们一同进步,学习!!!最后在说明一下,这个系列我会一直写下去。如果,你有什么好的方向,也可以提出来。创建对象有几种方法如何判断一个变量是不是数组原型、构造函数、实例、原型链instanceof 原理new 运算符手写一个Jquery,考虑插件和扩展性Class的原型本质,怎么理解原型和原型来年的图示属性和方法的执行规则.原创 2020-05-11 21:37:03 · 407 阅读 · 0 评论 -
前端面试之浏览器运行机制EventLoop(六)
最近在准备面试,感觉好些东西了解,但是了解的深度有限。自己就总结了几个模块,打算强化一下。如果你感觉我的文章对你有帮助,请点赞。如果感觉有哪些不足之处,可以留言。让我们一同进步,学习!!!最后在说明一下,这个系列我会一直写下去。如果,你有什么好的方向,也可以提出来。进程与线程进程我们常常说JS是单线程的,有没有想过为什么呢?我们学习操作系统的时候说的进程与其又是什么关系呢?虽然面试官不...原创 2020-05-06 01:19:23 · 580 阅读 · 0 评论 -
面试面试之Vue渲染过程(双向绑定原理)(三)
最近在准备面试,感觉好些东西了解,但是了解的深度有限。自己就总结了几个模块,打算强化一下。如果你感觉我的文章对你有帮助,请点赞。如果感觉有哪些不足之处,可以留言。让我们一同进步,学习!!!最后在说明一下,这个系列我会一直写下去。如果,你有什么好的方向,也可以提出来。Vue双向绑定的核心是数据劫持结合发布订阅者模式的方式,通过Object.defineProperty()这个原生的API来劫...原创 2020-04-21 19:29:07 · 881 阅读 · 0 评论 -
前端面试之跨域(二)
最近在准备面试,感觉好些东西了解,但是了解的深度有限。自己就总结了几个模块,打算强化一下。如果你感觉我的文章对你有帮助,请点赞。如果感觉有哪些不足之处,可以留言。让我们一同进步,学习!!!最后在说明一下,这个系列我会一直写下去。如果,你有什么好的方向,也可以提出来。前端跨域常见问题请你谈一谈跨域吧跨域如何解决有哪些方法先说明一下前端为什么会有跨域。浏览器的同源策略规定只有资...原创 2020-04-20 19:35:41 · 210 阅读 · 0 评论 -
前端面试之内存的那些事情(一)
最近在准备面试,感觉好些东西了解,但是了解的深度有限。自己就总结了几个模块,打算强化一下。如果你感觉我的文章对你有帮助,请点赞。如果感觉有哪些不足之处,可以留言。让我们一同进步,学习!!!最后在说明一下,这个系列我会一直写下去。如果,你有什么好的方向,也可以提出来。首先我罗列一些我自己在面试中遇到的问题,以及我搜集到的或者我认为需要了解的问题。请你说一下JS的垃圾回收机制吧。什么是垃...原创 2020-04-19 22:50:22 · 265 阅读 · 0 评论 -
JS数组常用方法总结(一)
join() reverse()sort()concat()slice()splice()push()pop()unshift()shift()toString()toLocaleString()forEach()map()every()some()reduce()reduceRight()indexOf()lastIndexOf()原创 2020-04-18 13:28:13 · 208 阅读 · 0 评论 -
Web前端的单位(px,rem,vh..)
1、px这个应该不用多说,只要接触了前端这个单位是一定会的,了解的。唯一需要说的就是像素px是相对于显示器屏幕分辨率而言的。2、百分比这个我们在实际开发中也常常会使用,我自己在做布局的时候,常常会用到它。这个也不用太多解释。比如我们设定宽度是 80%; 在浏览器大小是100px的时候,宽度自然是800px。那么理所当然的,如果浏览器大小变成了1500px,宽度自然也就变成了1200px3...原创 2020-03-21 15:02:09 · 1779 阅读 · 0 评论 -
JS之防抖(debounce)和节流(throttle)以及其使用场景
防抖(debounce)当事件高频率触发时(keyup事件,scroll事件,浏览器大小),为了不加重浏览器的负担,而仅仅在其结束后的一段时间再进行相应的操作 // 最实在的写法 let timer = null ipt.addEventListener('keyup',function(event) { // 如果有清空 if (timer) { clearTimeo...原创 2020-03-19 23:03:46 · 510 阅读 · 0 评论 -
JS的事件事件绑定的通用函数(含事件代理的处理)
最简单的事件绑定的通用函数 // 通用事件绑定函数 function bindEvent(elem,type,fn) { elem.addEventListener(type,fn) } const div1 = document.getElementById("div1") bindEvent(div1,'click',event => { console.log("点...原创 2020-03-19 16:42:17 · 2480 阅读 · 0 评论 -
JavaScript的数据类型的检测
在说JavaScript的数据类型的检测前,要知道有哪些数据类型值类型:Number,String,Boolean,undefined,null,Symbol(ES6)引用类型:Object,Date,Array,Functionjs的数据检测手段// 常用的三种typeofinstanceofObject.prototype.toString()// 不常用的两种constru...原创 2020-03-19 01:20:09 · 117 阅读 · 0 评论 -
ajax的那些事以及跨域问题的解决
为了介绍ajax,手写先来一段ajax代码吧手写ajax// 一个最简单的get ajax请求const xhr = new XMLHttpRequest()xhr.oend("GET","/路径",true)xhr.onreadtstatechange = function() { if(xhr.readyState === 4) { if(xhr.status === 200...原创 2020-03-18 00:32:54 · 257 阅读 · 0 评论 -
前端页面性能优化的几种方式
先说一下整体思想,使用缓存:DOM缓存,浏览器缓存,请求缓存减少请求:少请求就意味着变化少加载要考虑有限顺序:重要的先加载,不重要的后加载以下就是我对这些的阐述,没有分类,想到什么就写了什么,不是很完整,欢迎补充一、资源合并,减少JS的请求加载次数二、将CSS放在请求的最上面,将JS请求放在HTML最下面这样可以让用户在最短的时间内看到画面,也避免了JS中操作DOM元素,导致页面重排...原创 2020-03-17 12:25:46 · 801 阅读 · 0 评论 -
前端必知必会的存储cookie,sessionStorage,localStorage的区别及应用场景
前端有三种存储方式,分别是cookie sessionStorage localStorage其中sessionStorage,localStorage是H5的新特性,这一点是要明白的。cookie特性cookie的存储的比较小,大概只有4kb左右。它主要是为了与客户端交传递信息(存在headers请求头体)。每一次请求都会主动带上cookie的内容。如果在浏览器中设置了cooki...原创 2020-03-11 00:49:19 · 1250 阅读 · 0 评论 -
flex布局的情况下如何使用display:block,dispaly:none 冲突问题
问题描述自己的布局使用的flex布局,现在有需求需要利用JQ(js)操作不同的对象显示以及隐藏。如果是之前,我们可以利用display:none;display:block;两个类。交替操作,达到我们的目的。现在前面使用了flex布局,就会导致失效问题,如果不是很明白这一点,可以查看我之前写的(关于float失效的问题一文);首先先为大家排坑,overflow:hidden...原创 2019-04-14 21:12:14 · 8260 阅读 · 2 评论