![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
飞不动的笨鸟
前端菜鸟,毕业于2014年,京东摸鱼ing
展开
-
js实现一个任务队列
functionEventQueue(delayTime){this._delayTime=delayTime||20;this._queue=[];this._canRun=true}EventQueue.prototype={add:function(fn,params){this._queue.push...原创 2019-10-21 22:14:15 · 1638 阅读 · 1 评论 -
面试手写方法
数组//mapArray.prototype._map = function(fn){ return this.reduce((result,item)=>[...result,item],[])}//filterArray.prototype._filter = function(fn){ return this.reduce((result,item)=...原创 2019-06-11 18:08:19 · 188 阅读 · 0 评论 -
web开发的跨域问题
做过 web 开发的同学,应该都遇到过跨域的问题,当我们从一个域名向另一个域名发送 Ajax 请求的时候,打开浏览器控制台就会看到跨域错误,今天我们就来聊聊跨域的问题。1. 浏览器的同源策略同源的定义是:如果两个页面的*协议,*端口(如果有指定)和*域名*都相同,则两个页面具有相同的源。同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的...原创 2019-01-08 20:37:09 · 108 阅读 · 0 评论 -
JavaScript自定义构造函数
自定义构造函数自定义构造函数,可以快速创建多个对象,并且代码复用性高。 // 一般为了区分构造函数与普通函数,构造函数名首字母大写 function Student(name,score,code){ this.name = name; this.score = score; this.code = code; ...原创 2018-12-30 22:58:16 · 304 阅读 · 0 评论 -
如何理解import、require、export、module.export
ES6的模块设计模块设计的思想是尽量静态化,使得编译的时候就可以确定模块的一来关系,以及输入和输出的变量。CommonJS和AMD都只能在运行时确定这些东西,commonJS模块就是对象,输入时需要查找对象属性 // CommonJS模块 let { stat, exists, readFile } = require('fs'); // 等同于...原创 2018-12-30 22:55:00 · 183 阅读 · 0 评论 -
使用webpack来生成多页面应用MPA
使用webpack配置MPA为什么需要使用 webpack 构建多页应用呢?因为某些项目使用 SPA 不太合适(大多是 SEO 的原因),或者您在做项目时有其他的需求。如果你有如下需求:使用 ES6 进行开发 期望使用面向对象开发(class) 自动压缩合并 CSS 和 JS 文件 使用 ESLint 进行代码检查 自动生成 HTML 文件 自动抽取 CSS 文件 …有了这些...原创 2018-12-30 22:47:00 · 829 阅读 · 2 评论 -
js实用方法
数组arrayMax返回数组中的最大值。将Math.max()与扩展运算符 (…) 结合使用以获取数组中的最大值。 const arrayMax = arr => Math.max(...arr); // arrayMax([10, 1, 5]) -> 10 arrayMin返回数组中的最小值。将Math.min()与扩展运算符 (…)...翻译 2018-12-30 22:44:12 · 300 阅读 · 0 评论 -
vue数据双向绑定原理
vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的,我们可以先来看一下通过控制台输出一个定义在vue初始化数据上的对象是什么。var vm = new Vue({ data: { obj: { a: 1 } }, created: function () { console.log(...原创 2018-12-30 22:28:32 · 179 阅读 · 0 评论 -
理解JavaScript中的instanceof
理解JavaScript中的instanceofinstanceof原理我们先写这样一个例子function Girl(){} Girl.prototype = {} function Boy(){} Boy.prototype ={} var boy1 = new Boy(); alert(boy1 instanceof Boy);//true alert(boy1 inst...原创 2018-12-30 22:06:33 · 104 阅读 · 0 评论 -
JavaScript在new的过程中经历了什么
举一个栗子:function(name,age){ this.name = name; this.age = age;}let person = new Person('yy',18)像上面这么new 一个对象可以分成四个阶段:1、创建了一个空对象var obj = new Object();2、让Person中的this指向obj,并执行Person...原创 2018-12-30 21:28:10 · 292 阅读 · 0 评论 -
JS的事件循环
Web Workers为了使浏览器这执行js代码时,不阻塞进程,所以HTML5制定了Web Workers标准,允许js创建多个线程,但子线程收到主线程的控制,并且不能对DOM进行操作,以防止多个线程同时对一处DOM进行不同操作,这样可以避免“一核有难,七核围观”。为什么JS需要异步其根本原因在于计算机对不同硬件访问速度的差异,其速度快到慢依次排序为:寄存器、L1高速缓存、L2高速缓存...原创 2018-12-30 20:22:39 · 384 阅读 · 0 评论