javascript
黄大鹏
记录一些好玩的问题
展开
-
浅谈vue双向数据绑定
前沿最近在研究vue的源码,再次记录一下众所周知vue通过数据劫持+发布订阅模式实现双向绑定那么我们就一步一步来实现一个简易版本的mvvm吧入口class Vue { constructor(options) { this.$el = options.el this.$data = options.data if (this.$el) { new Observer(this.$data) new原创 2020-09-17 10:18:52 · 172 阅读 · 0 评论 -
关于javascript函数节流和防抖的理解
背景介绍最近本人在开发移动端应用中,遇到关于函数节流和函数防抖功能使用,一个是搜索功能,用户输入完成之后进行接口请求这么一个简单的功能,这里需要用到防抖操作。还有一个功能是我需要监听滚动条距离底部的位置,此时我需要进行一些节流处理,优化前端性能。这是最近在项目中遇到的一些问题,所以记录在博客中以便以后查看,接下来就来简单谈下节流和防抖的的概念和简单的demo实现。概念防抖:将需要执行的方法放...原创 2019-03-21 19:57:55 · 176 阅读 · 0 评论 -
浅谈js中的原型、原型链、原型链继承
原型对象、 构造函数、实例对象原型对象:这个要从构造函数开始说起,每个构造函数都会带有一个 prototype 属性。该属性是个指针,指向了一个对象,我们称之为 原型对象。什么是指针?指针就好比学生的学号,原型对象则是那个学生。我们通过学号找到唯一的那个学生。假设突然,指针设置 null, 学号重置空了,不要慌,对象还存在,学生也没消失。只是不好找了,用代码来解释可以这样Person.prot...原创 2019-04-04 17:59:04 · 221 阅读 · 0 评论 -
实现一个简单的Vue插件
概念最近看了篇关于Vue插件的文章,为了避免忘记,打算写下来,以遍日后查阅。我们引入全局变量的时候,可能需要一个一个的引入,而且在一个vue文件中引用的组件多了,会显得代码臃肿,所以才有了封装vue插件的需求。插件组件模板<template> <transition name="fade"> <div class="toast" v-s...原创 2019-04-22 19:09:41 · 616 阅读 · 0 评论 -
浅谈JS事件循环机制(event loop)的宏任务,微任务
首先看一段代码async function f1(){ await f2() console.log('f1') }// async function f2(){ console.log('f2') } console.log('正常1') f1() setTimeout(()=>{ console.log('定时器') }) console.l...原创 2019-04-29 15:48:04 · 260 阅读 · 1 评论 -
检测数据类型的经典方法
前沿用 typeof 是否能准确判断一个对象变量,答案是否定的,null 的结果也是 object,数组的结果也是 object,有时候我们需要的是 “纯粹” 的 object 对象。如何避免呢?比较好的方式是:console.log(Object.prototype.toString.call(obj) === "[object Object]");例console.log(Objec...原创 2019-05-18 16:08:32 · 281 阅读 · 0 评论 -
自己实现一个new方法
前沿好久没有写点东西了,最近看了下js基础教程,觉得有些东西还是有必要记录下来关于newnew关键字通常和构造函数一起使用,用于创建对象。function Animal(name, action) { this.name= name; this.action= action; this.run= function () { ...原创 2019-07-15 10:00:22 · 2534 阅读 · 0 评论