![](https://img-blog.csdnimg.cn/20190910153734592.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaScript
文章平均质量分 72
EsunR
这个作者很懒,什么都没留下…
展开
-
一段代码两张图,帮你理解 JS 中的原型链继承
创建一个 Animal 类,Dog 类继承与 Animal 类,同时实例化一个 Dog 类为 dog,查看其显式原型与隐式原型之间的关系:class Animal { constructor(name) { this.name = name } eat() { console.log("吃东西"); }}class Dog extends Animal {...原创 2019-10-29 16:28:36 · 322 阅读 · 1 评论 -
JavaScript 柯里化函数的实现
1. 柯里化函数的定义在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。函数柯里化的对偶是Uncurrying,一种使用匿名单参数函数来实现多参数函数的方法。例如:var foo = function ( a ) { return ...原创 2019-09-12 16:48:51 · 736 阅读 · 0 评论 -
关于import、export语句的种种引入方式、导出方式的区别
学习了这么长时间的Vue、React、还有nodeJs,对 import 语句可以说是既熟练又容易糊涂,我们经常见到以下几种 import 语句:import {xx1, xx2, xx2} from ‘xx’improt * as xx from ‘xx’import xx from ‘xx’那么接下来我们就好好分析一下他们的区别以及使用场景:1. import {xx1, xx2...原创 2019-07-02 11:31:33 · 6983 阅读 · 0 评论 -
简析Vue中的MVVM实现原理
1. MVVMangular - 脏值检测vue - 数据劫持+发布订阅模式(不兼容低版本:因为其依赖于Object.defineProperty)2. Object.defineProperty()1.1 概念Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。定义的这个属性具有使用 Object.defi...原创 2019-05-30 20:41:15 · 1108 阅读 · 0 评论 -
关于构造函数和原型链运行机制的试题与知识点总结
相关试题知识点1. 构造函数2. 原型规则和示例3. 原型链4. intanceof5. 关于原型重定向问题解题1. 如何准确判断一个变量是数组类型2. 写一个原型链继承的例子3. 描述new一个对象的过程题目:如何准确判断一个变量是数组类型写一个原型链继承的例子描述new一个对象的过程zepto(或其他框架)源码中如何使用原型链知识点:1. ...原创 2019-05-06 17:28:14 · 225 阅读 · 0 评论 -
Canvas快速入门教程
目录Canvas入门教程Canvas概述1. 与Flas的区别2. 创建Canvas画布标签3. 用Javascript操作2D画布4. API笔触、填充1. 简述3. 绘制路径4. 绘制样式6. 快速绘制6. 绘制复杂图像7. API弧1. 绘制弧线2. API绘制渐变1. 创建渐变色2. API文字1. 添加文字2. 调整...原创 2019-05-03 09:28:18 · 1843 阅读 · 0 评论 -
总结事件轮询机制,以及宏任务队列与微任务队列
1. 事件轮询(Event Loop)js实现异步的具体解决方案什么叫轮询?2. 宏任务和微任务概念宏任务微任务例题EXP1: 在主线程上添加宏任务与微任务EXP2: 在微任务中创建微任务EXP3: 宏任务中创建微任务EXP4:微任务队列中创建的宏任务总结这篇博文仅为个人理解,文章内提供一些更加权威的参考,如有片面及错误,欢迎指正1. 事件轮询...原创 2019-04-15 09:45:06 · 5398 阅读 · 5 评论 -
理解Javascript中的函数节流和函数防抖
函数节流和函数防抖都是用来优化性能,以及避免短时间内连续调用某个函数的方案。一下我们通过两个例子,来理解两种方案,以及它们的应用场景。函数节流函数节流即为,一个函数执行一次后,只有大于设定的执行周期后,才会执行第二次。这里我们可以理解为当一个函数立即执行后,它需要一个冷却时间才能被执行第二次,也就是我们需要去节制函数的调用次数,即为节流。我们可以通过检测两次函数调用的时间差,如果在设定...原创 2019-04-13 14:45:57 · 205 阅读 · 0 评论 -
由Javascript的继承引发的:抽象类、接口、多态,甚至是类型转换!
原文:https://my.oschina.net/xue777hua/blog/147716##缘起## 工作中需要用到Javascript,关注了Javascript中继承复用的问题,翻阅了网上的各种关于Javascript继承的帖子,感觉大都思考略浅,并没有做过多说明,简单粗暴的告诉你实现Javascript继承有1.2.3.4.5几种方式,名字都叫啥,然后贴几行代码就算是玩了。不管...转载 2019-04-09 14:47:03 · 723 阅读 · 0 评论 -
四道阿里前端面试基础题分析
题目一小明使用js编写了一个dog类,该dog类有一个方法bark,在新建的dog实例中,引用bark方法,输出相关内容。以下是小明写的代码,请看下他写的有什么问题?如果有问题,如何改造?function dog(){}dog.prototype.bark = function(msg){ console.log(msg); setTimeout(function(){ this...原创 2019-04-08 13:47:27 · 829 阅读 · 0 评论 -
常用的搜索联想API及使用方法
常用Api地址:Google(备用)Api地址:http://google.com/complete/search?output=toolbar&q=%设计<toplevel> <CompleteSuggestion> <suggestion data="设计"/> </CompleteSuggestion> <Comp...转载 2018-12-11 10:15:40 · 4198 阅读 · 0 评论 -
用ES6中的Promise构造函数来解决地狱回调问题
简介Promise 是一个 构造函数,既然是构造函数, 那么,我们就可以 new Promise() 得到一个 Promise 的实例;在 Promise 上,有两个函数,分别叫做 resolve(成功之后的回调函数) 和 reject(失败之后的回调函数)在 Promise 构造函数的 Prototype 属性上,有一个 .then() 方法,也就说,只要是 Promise 构造函数创...原创 2018-12-02 18:31:12 · 999 阅读 · 0 评论 -
初步讲解JS中的callback回调原理
JS的异步执行机制什么是异步执行为了提高Javascript代码的运行效率,JS对于部分函数方法采用了异步调用机制(如Ajax的操作)。异步执行的函数方法的执行并非为一个队列挨个执行的,而是相互独立,同时调用执行的,从而避免代码运行阻塞,减少不必要的等待时间。我们来举一个栗子大部分新手编程时,都会按照一种线性思维的方法去设计代码,这就跟JS中的异步执行机制相冲突。如:我们在node中,...原创 2018-12-02 18:29:44 · 4707 阅读 · 6 评论 -
ES6语法中的解构赋值
关于数组的解构赋值Easy Assignment简便赋值//ES5定义方法var a = 1, b = 2, c = 3;//ES6定义方法var [a, b, c] = [1, 2, 3];Jump Assignment跳跃赋值var [a, , c] = [1, 2, 3];console.log(a);console.log(b);console.log(c);...原创 2018-10-16 18:25:09 · 3650 阅读 · 0 评论