《javascript设计模式》读书笔记二:字面量和构造函数

一.对象

对象由下面这三种方式创建:

  • 对象字面量
  • 来自构造函数的对象
  • 来自自定义构造函数的对象
阅读更多
《javascript设计模式》读书笔记一:编写可维护的代码

一. 尽量少用全局变量

Javascript 使用的是函数作用域,在函数内声明的变量,只有在函数内有效,不能在函数外使用。全局变量则是在函数外部声明,在函数内无需声明就可以使用。

阅读更多
Vue 的双向绑定原理及手把手实现

最近在学习Vue,之前一直对Vue的双向数据绑定只算是了解。经过这几天的深入学习。对它的原理有了更加深刻的认识。虽然Vue并没有有完全遵循MVVM模型, 但是它的设计也是受到了MVVM模型的启发。所以它也是能实现双向数据绑定的, 那我们来看mvvm模型的双向数据绑定是什么?其实双向数据绑定实现的效果就是指:模型(model)javaScript中定义的对象,它改变了会同步视图(view)。修改视图()view)也会同步修改数据层;

为什么说 Vue 没有完全遵循 MVVM 吗? 是以为Vue 提供了ref属性, 通过 ref 能够得到dom对象, 通过ref 直接去操作视图,这一点违背了 MVVM

阅读更多
JavaScript中的闭包
对于使用过JavaScript的人来说,理解闭包的概念是需要付出非常多的努力和牺牲的。其实很多人在没有理解必闭包之前也已经使用了闭包,但是我们应该根据自己的意愿来正确的识别和使用闭包,这边文章主要是在我看了《你不知道的JavaScript》之后整理的。供自己以后方便查阅。 在理解闭包之前首先得先理解 ...
阅读更多
什么是函数柯里化

什么是“函数柯里化”

curry的概念:只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。

阅读更多
Vue组件之间的通讯方式
Vue.js 中最强大的功能之一就是组件。而组件实例之间是相互独立的。也就说明了不同的组件之前得数据是不相通的。我们可以先来看看组件之间都存在哪几种关系: 如上图所示。A 和 B,B 和 C,B 和 D 都是父子关系,C 和 D 是兄弟关系。A 和 C,A 和 D都是隔代关系(这里只是隔了一代, ...
阅读更多
关于this的指向问题

this关键字是JavaScript中最复杂的机制之一,是一个特别的关键字,被自动定义在所有函数的作用域中,但是相信很多JavaScript开发者并不是非常清楚它究竟指向的是什么。听说你很懂this,是真的吗?

阅读更多
JavaScript中的原型链
对于JavaScript中的原型链,一直很疑惑,看不懂,最近读到一篇文章,觉得豁然开朗。记录一下。关于javaScript为什么会有原型链,可以点击 Javascript继承机制的设计思想讲得非常清楚 普通对象和函数对象在 JavaScript中除了基本数据类型之外(引用数据类型),都是对象,但是对 ...
阅读更多
Vue2.x的生命周期详解
使用Vue开发已经有一段时间了。但发现自己对vue的理解还是不深刻。于是想着从观看Vue文档开始。在阅读文档之前,觉得需要先了解整个Vue的生命周期,清楚的认识到Vue在每个阶段的钩子函数没这样才能更好的让我们去使用Vue。 我们先来看一张图,上面解释每个步骤是做什么的。可以只看这一张图就可以明白V ...
阅读更多
Debounce和Throttle的原理及实现

问题引出

在处理诸如resize,scroll,mousemovekeydown, keyup,keypress等事件的时候, 我们通常不希望这些事件太过频繁的触发。尤其是监听程序中涉及到大量的计算或者是非常耗资源的操作。

阅读更多