自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 JavaScript 手动封装一个Promise

首先肯定是先得掌握Promises/A+规范啦~~~1.实现简单的同步代码①原生promise例子这里不解释event loop的概念了,有兴趣可以去翻阅我的这篇文章从浏览器中的Event Loop(事件循环)机制探索JavaScript异步简要摘抄规范中Promise的状态以及Promise.then()方法的介绍Promise States: A promise must be ...

2019-04-23 21:32:36 3665

原创 JavaScript ES6语法知识点

1.let/constES5只有两种声明变量的方法: var和function①var和function命令存在变量提升(var只会先提前声明 function既提前声明又定义)let命令不存在变量提升(const一样)②var变量可以重复声明;let变量不允许重复声明(const一样)③var和function命令声明的变量会提升到全局变量window对象中let命...

2019-04-07 01:00:50 653 1

原创 CSS 清除浮动常用的多种方法

浮动没清除经典的现象:可以看到父级div并没有高度常用的解决办法①给父级div增加高度优点:简单、代码少、容易掌握缺点:只适合高度固定的布局,要给出精确的高度②结尾处加空div标签clear:both或者br标签clear:both优点:简单、代码少、浏览器支持好、不容易出现怪问题缺点:如果页面浮动布局多,就要增加很多空div,让人感觉很不好③父级div定义伪类:after和...

2019-02-24 15:04:19 215

原创 JavaScript 防抖和节流

防抖与节流函数是一种最常用的高频触发优化方式,能对性能有较大的帮助就比如我们经常会需要绑定一些持续触发的事件,如 resize、scroll、mousemove 等等,但有些时候我们并不希望在事件持续触发的过程中那么频繁地去执行函数①防抖(debounce)1.例如在搜索引擎搜索问题的时候,我们当然是希望用户输入完最后一个字才调用查询接口,这个时候适用延迟执行的防抖函数,它总是在一连串(间隔...

2019-02-20 16:11:50 279

原创 CSS 垂直居中常用的多种方法

垂直居中是布局中十分常见的效果之一,在面试中也是经常问到的点;CSS布局还是采取截图把代码贴出来,因为想学习只有敲出来才会有理解,只看或者复制粘贴当时都会说嗯嗯嗯。。。妙啊①display:table-cell(此方法适用子节点没有固定宽高)结果:②定位和负边距(此方法对子节点没固定宽高不适用)结果:③ 定位和0(此方法对子节点没固定宽高不适用)结果:④定位和transf...

2019-02-19 10:41:40 147

原创 浏览器渲染机制的原理和过程

上一篇文章对浏览器Event Loop机制中Tsak以及MicroTask执行过程讲述中,对一个Event Loop结束后更新渲染(Update the rendering)的过程并没有说明,所以单独写一篇文章来讲解浏览器渲染布局...

2019-01-29 15:15:14 5999

原创 从浏览器中的Event Loop(事件循环)机制探索JavaScript异步

Event Loop不同的实现事件(event):事件就是由于某种外在或内在的信息状态发生的变化,从而导致出现了对应的反应。比如说用户点击了一个按钮,就是一个事件;HTML页面完成加载,也是一个事件。而且一个事件中会包含多个任务。①浏览器在HTML Standard中定义了Event Loop②Node.js使用了libuv库来实现Event Loop浏览器的Event Loop和N...

2019-01-28 13:36:52 595

原创 JavaScript 闭包的全面理解

写文章之前其实我对闭包的概念及原理模糊不清......而且一直以来都是以一个函数内部返回一个函数,内部函数有权访问外层函数的作用域...来欺骗自己(很多这样的半吊子hhh)其实这种说法没有绝对的对与错,写这篇文章其实就是为了自己在闭包的理解上能更深入更底层讲闭包之前先讲下JavaScript的执行环境(执行上下文)和作用域(《JavaScript高级程序设计》)①执行环境(全局执行环境...

2019-01-25 16:04:17 350 2

原创 JavaScript 深浅拷贝原理以及内部代码实现过程

1.

2019-01-23 20:20:26 282

原创 JavaScript 实现继承的多种方式

谈起JS继承,我们首先来了解下什么是原型以及什么是原型链:1:原型: 在JavaScript高级程序设计中给出的解释是· 每一个构造函数(对应的就是类函数)都有一个prototype属性(强调下是属性),这个prototype属性会指向一个原型对象(强调下是对象)。该原型属性指向的原型对象称之为原型2:原型链: 每一个构造函数的原型属性会链式指向原型对象,每个原型对象都会有个construct...

2019-01-23 11:35:08 259

原创 JavaScript typeof与instanceof的用法以及内部代码实现过程

typeof1.我们先看看基本数据类型对应typeof的值:这里我们发现只有typeof(null)没有返回基本数据类型null,继续找规律!!!这里我们会发现一个问题,就是typeof来判断数据类型其实并不准确。比如数组、日期、对象、构造函数等的typeof返回值都是object,这就会造成一些误差。所以在typeof判断类型的基础上,我们还需要利用Object.prototype....

2019-01-21 19:59:25 183

原创 JavaScript call apply bind中this的问题以及内部代码实现过程

谈论JavaScipt中call apply bind,我们当然首先需要探讨的就是this的指向问题了在 ES5 中,其实 this 的指向,始终坚持一个原理:this 永远指向最后调用它的那个对象例1:根据刚刚的那句话“this永远指向最后调用它的那个对象”,我们看调用 thisIndex()的地方;,前面没有调用的对象那么就是全局对象 window,这就相当于是 window.thisI...

2019-01-18 17:47:49 283

原创 JavaScript new内部代码实现过程

JavaScript new对象的过程之所以想写点东西,主要是因为被某服一面就刷了,自以为基础还行,而且面试官是个的同龄人,被问的一脸懵逼,感叹一下差距;至于什么原因被刷,对于一个职场小白,被问的全是vue响应式原理源码以及一些IE兼容性问题,当然很快就结束了,直接简单明了回答说不知道就灰溜溜的走了。所以打算从js开始写起,把所有面试问到的JS,VUE......等等慢慢写出来question1....

2019-01-16 18:21:00 372

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除