分类:: 技术类-前端

es6(二) 之用 es5 理解 es6 的 class

  es6 新特性 class 能够像其他面向对象的语言那样创建类并实现类之间的继承,然而实际上底层的实现依然是基于原型链的,因此完全可以将 es6 的 class 翻译成 es5 的原生 function 来理解。 声明一个类12345// class 实现class A {}// function 实现function A() {}

js 实现 call & apply & bind

  最近发现某条的前端面试很喜欢让人手写实现 bind。实际上,只要对原生 js 够熟悉的话,别说是实现 bind,连 call 还有 apply 的实现也是很简单的,本篇文章主要是记录下本人实现的代码。 (一) 手写实现 call1234567Function.prototype.myCall = function (context) { let args = [

实现 element-ui 按需加载

  很多人在前端项目打包时经常会遇到打包出来的体积过大的问题,过大的资源体积会导致页面加载速度缓慢。在使用 element-ui 的时候如果单纯引入整个 element-ui 库,就会导致打包体积过大的问题。12345678910111213141516// 项目入口比如 main.js 中import Vue from 'vue'import App from './App'

windows 下解决 gyp ERR

  在 windows 上执行 npm 安装但凡涉及到 canvas,比如我最近就在使用一个 canvas 库 Fabric,就经常会报 gyp ERR。所以我的解决思路是查找安装 canvas 失败的解决方法,只要解决了 canvas 安装失败的问题,就可以解决 gyp ERR。 解决步骤  (1)npm i -g node-gyp  &ems

详解 JavaScript 严格模式

  ECMAScript 5 定义了严格模式,可以使 JavaScript 更清晰,减少不安全的功能,并提供更多的警告和有逻辑的行为。同时也是为了提高编译器效率,增加运行速度,为未来新版本的 Javascript 做好铺垫。 (一) 切换到严格模式的方法:  (1)在 JavaScript 文件顶部或者 script 元素的顶部键入 ‘use strict’

JavaScript 中 new 操作符的执行顺序

  以前在学习 JavaScript 构造函数的时候,并没有深入地去研究 new 操作符究竟做了什么事情,也没有深入了解构造返回值的规则,本篇文章详细解释了这两个问题。 new 操作符做了什么???  用 new 调用构造函数时 new 的操作顺序: (一)创建一个新对象 X; (二)将新对象 X 的属性 proto 指向构造函数的 prototype 指

vue 脚手架之 vue-cli 的使用

  vue 的发展是很快的,围绕 vue 已经有了一个完整的应用生态,比如 vue + vuex + vue-router + axios + webpack 就是一个完整的应用系统了。那么,每次我们要新建一个运用了此应用系统的项目的时候,都要重新搭建项目吗?回答是肯定的,也确实很麻烦,但是 vue-cli 作为一个 vue 的专门脚手架,可以轻松帮我们解决这样的问题。 &em

window.location 对象详解

window.location 的属性  本文通过一个示例 url,讲述window.location的各个属性。假设该url如下:1https://www.baidu.com/s?wd=location.hash&rsv_spt=1&rsv_iqid=0xa78ca3100003b820&issp=1&f=8&rsv_bp=1&