js
一身羊毛
天道酬勤
展开
-
《手写一个vue.js》文章笔记
前言引用文章: Vue.js 是如何实现 MVVM 的?上文中对mvvm的讲解很有一套,可以深读. 文章最后实现了vue.js. 自己手写了两遍,略做优化如下:compile.js 文件中 createHandleElement函数删除xvue.js 中的proxydata代理函数.ps1: 强烈建议自己可以纯手打实现这个代码. 也建议深读一下,原作者写的注释很好.ps2: 作者在...原创 2020-01-08 22:48:57 · 223 阅读 · 0 评论 -
mvvm的数据检测(笔记)
// 代码来源:https://github.com/HcySunYang/jsonob/blob/master/src/index.js// 经过个人优化后如下: (后续添加备注以及优化步骤)function log(){ var args = Array.prototype.slice.call(arguments); console.log.apply(console, ...转载 2018-11-20 20:58:38 · 167 阅读 · 0 评论 -
apply\call\bind 笔记
call\apply\bind笔记call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。对于 apply、call 二者而言,作用完全一样,只是接受参数的方式不太一样。func.call(th...转载 2018-11-16 17:28:34 · 481 阅读 · 0 评论 -
字符串替换---替换第X位到Y位的字符
字符串替换有三种方法:字符串连接(简单易想易实现)截取其中几位,然后分别连接。 var str = "asdf123456"; var sp = function(begain, end, mainStr, replaceStr){ var len = mainStr.length; end = end >= len ? len : end; ...原创 2019-05-21 10:23:10 · 4848 阅读 · 0 评论 -
js事件流---是时候对事件流做一个对决了
此文章第一是作为笔记,对知识点做一个整体梳理,第二网上有众多事件流讲解,所以对于我已经理解的细节不再说明,只记录自己疑惑的部分.普通概念:什么是事件流?事件顺序是什么样?捕获--目标--冒泡兼容性怎么样?ie8及以下不支持捕获.兼容性小历史?刚开始其他支持捕获,而ie非支持冒泡.后来w3c支持捕获--目标--冒泡,而ie8头铁还不支持捕获,直到ie9才改变事件委托原理?冒泡+...原创 2019-05-30 11:30:50 · 91 阅读 · 0 评论 -
javascript继承只有一种实现方式
只做总结,具体概念可以看我引用的博客文章。引用:1. 空对象中介继承优点:空对象不占内存修改子对象的constructor不会改变父对象的constructor缺点:isPrototypeOf、instanceof属性无效,需要通过备用属性uber来完成了。(可参考下方的小栗子一号)实现:function extend(child,parent){ // pare...原创 2019-07-15 15:57:50 · 111 阅读 · 0 评论 -
原型、原型链、instanceof、isprototypeof详解
原型:原型链:instanceof:isprototypeof:原创 2019-07-11 18:46:35 · 358 阅读 · 0 评论 -
vue依赖收集入门到精通(已入门,精通待完善)
想研究一下vue的原理vue的依赖收集和dep、watcher有关。dep: dependence的缩写,就是依赖的意思watcher: 观察者的意思这是一种经典的发布者–订阅者模式。。。什么是观察者模式?先研究一下观察者模式,在继续写本文吧。。。。每一个对象的getter都有一个的dep对象dep的伪代码:class dep {}...原创 2019-07-19 10:53:34 · 269 阅读 · 0 评论