JavaScript
OD杨小凡
一个热爱健身和篮球的码农,好的身体才能码得更远。
展开
-
手动实现简易的Promise
const PENDING = 'pending'const RESOLVED = 'resolved'const REJECTED = 'rejected'function MyPromise(fn) { const that = this //方便后面利用上下文,先把this赋值给that this.state = PENDING // 初始状态为pending this....原创 2019-01-10 09:15:59 · 281 阅读 · 0 评论 -
ES7 async await 理解
原创 2019-01-08 17:17:36 · 170 阅读 · 1 评论 -
经典面试题,循环中使用闭包解决 `var` 定义函数的问题
for(var i=1;i<=5;i++) { setTimeout(() => { console.log(i) }, i*1000) }如上例子,会打印出6个6,原因:for循环中用var来申明变量i,此时var存在变量提升问题,并且6次循环中全都共用一个变量,所以当setTimeout中的延迟函数开始执行时,循环已经结束,此时i=6,所以会打印出6个6。...原创 2019-01-08 16:31:30 · 1012 阅读 · 0 评论 -
一张图搞定Javascript中函数调用this的指向
原创 2019-01-04 16:35:03 · 122 阅读 · 0 评论 -
前端如何利用JavaScript导出excel文件
前端开发过程中常见的需求有:需要根据后台接口导出一份excel表格,可以利用以下做法实现。let postObj = {a:'1'} // 请求提交的对象axios({ // 用axios发送post请求 method: "post", url: "/test/getExcel", // 请求地址 data:...原创 2018-12-05 17:35:32 · 445 阅读 · 0 评论 -
兼容IE浏览器和DOM浏览器的事件对象
虽然DOM和IE中的event对象不同,但基于他们的相似性依旧可以拿出跨浏览器的方案来。IE中event对象全部信息和方法DOM方法中都有,只不过实现的方法不一样,这种对应关系让实现两种事件模型之间的映射非常容易。创建EventUtil对象,如下:var EventUtil = { addHandler: function(element, type, handler){ /...原创 2018-11-30 17:16:35 · 607 阅读 · 2 评论 -
手动实现Vue的数据双向绑定v-model
所需构造函数:myVue和Watcher myVue中有 _init<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-原创 2018-11-30 09:31:04 · 1143 阅读 · 1 评论 -
如何对DOM进行事件绑定----DOM方法和IE事件处理程序
目录DOM0级事件处理程序添加删除DOM2级事件处理程序addEventListener()和removeEventListener()IE事件处理程序attachEvent()和detachEvent()DOM0级事件处理程序添加 使用DOM0级方法指定的事件处理程序被认为是元素的方法。因此,这个时候的事件处理程序是在元素的作用域中运行的,换句话说,...原创 2018-11-29 17:57:45 · 441 阅读 · 1 评论