
js
wyqvong
这个作者很懒,什么都没留下…
展开
-
js ES5实现继承
最近在准备面试题,发现挺多大厂都会问到用ES5实现继承这一问题,所以就收集这方面的资料把我认为讲的比较好的记录下来巩固记忆。 众所周知ES6之前并没有给我们提供extends继承的方法,但是我们可以通过构造函数+原型对象来模拟实现继承。接下来我会由浅入深的引出较为完善的实现继承的方法。 原型链图 方法1. 只继承属性,利用call改变this指向。 方法1的bug:该方法只可以继承属性,实例...原创 2020-04-30 16:40:13 · 245 阅读 · 0 评论 -
js Event Loop 事件循环
我们都知道JavaScript是单线程的,也就是说同一时间只能干一件事。这是因为JavaScript主要是用来操作DOM的,如果变成多线程,浏览器就不知道该听谁的了。不过虽然js是单线程,但是我看可以通过Event Loop模拟多线程,实现主线程的不阻塞。 如图所示,js中的内存分为 堆内存(heap) 和 栈内存(stack), 堆内存 中存的是我们声明的object类型的数据,栈内存 中存...转载 2020-04-28 21:10:04 · 143 阅读 · 0 评论 -
js 认识浅拷贝与深拷贝及它们的实现方法
首先需要明确的一点是,深拷贝和浅拷贝只针对Object和Array这样的引用数据类型。 因为基本数据类型如String, Number, Boolean等之类的数据是直接存放在栈内的,而引用数据类型存储的是该对象在栈中的引用(也就是指针),真实的数据则存放在堆里。当被引用的时候,先找到栈内的指针再通过指针找到存放在堆里的数据。 赋值 对象赋值时,赋的其实是该对象的在栈中的地址,而不是堆中的数...原创 2020-04-23 15:09:47 · 313 阅读 · 0 评论 -
写一个eventEmitter类(发布/订阅模式),包括on()、off()、once()、emit()方法
1、on(event,fn):监听event事件,事件触发时调用fn函数; 2、once(event,fn):为指定事件注册一个单次监听器,单次监听器最多只触发一次,触发后立即解除监听器; 3、emit(event,arg1,arg2,arg3…):触发event事件,并把参数arg1,arg2,arg3…传给事件处理函数; 4、off(event,fn):停止监听某个事件。 class Even...原创 2020-04-22 00:00:14 · 2114 阅读 · 0 评论 -
js 认识防抖和节流函数以及实现方法(内含详细注释)
防抖 防抖函数,用于一段时间内用户可能会多次触发某一事件但却只需要执行一次函数的情况下。 实现原理:利用闭包创建一个标记来设置一个定时器,约定在xx时间后再触发事件处理函数,当用户每次再次触发事件时,都会重新设置定时器,直到xx时间后才触发事件处理函数。 <body> <button id="debounce">点我!</button> <s...原创 2020-04-21 21:39:14 · 461 阅读 · 0 评论 -
使用 Vuex + Vue.js 构建单页应用
前言:在最近学习 Vue.js 的时候,看到国外一篇讲述了如何使用 Vue.js 和 Vuex 来构建一个简单笔记的单页应用的文章。感觉收获挺多,自己在它的例子的基础上进行了一些优化和自定义功能,在这里和大家分享下学习心得。 在这篇教程中我们将通过构建一个笔记应用来学习如何在我们的 Vue 项目中使用 Vuex。我们将大概的过一遍什么是 Vuex.js,在项目中什么时候使用它,和如何构建我们的 V...转载 2019-09-12 15:23:48 · 188 阅读 · 0 评论 -
vue 使用axios+qs向后台传递参数,传递数组参数,传递包含对象的数组参数的解决方法
qs 当我用了几次qs以后就发现了个坑 向后台传递数组参数的时候其实是有很多种情况的 qs的基础使用 import qs from 'qs' //引入方式 this.qs.stringify(data); //使用方式 this.qs.parse(data); //使用方式 this.$axios.post('/xxx', qs.stringify(obj)).then...原创 2019-10-03 00:40:28 · 9754 阅读 · 5 评论 -
vue 关于点击a标签跳转到本地页面而不是其它页面的解决方法
name = 'www.baidu.com/' <a :href="name">//如果这样子写的话会跳转到 localhost:8080/www.baidu.com/ 解决方法: <span @click="openUrl" id="url">{{data.url}}</span> openUrl(){ window.location...原创 2019-10-10 15:05:27 · 3171 阅读 · 0 评论