- Observer数据监听器,能够对数据对象的所有属性进行监听,如有变动可拿到最新的值并通知订阅者,内部采用的Obiect.defineProperty的getter和setter来实现。
- complie指令解析器,它的作用对每个元素节点的指令进行扫描和解析,根据指令模板替换数据,以及绑定Observer和Complie的桥梁,能够订阅并收到每个属性变动的通知,执行指令绑定的相应的回调函数
- Watcher订阅者,作为连接Observer和Complie的桥梁,能够订阅并收到每个属性变动的通知,执行指令绑定的相应回调函数。
**在JavaScript中,每当定义一个函数数据类型(普通函数、类)时候,都会天生自带一个
prototype属性,这个属性指向函数的原型对象,并且这个属性是一个对象数据类型的值。**每一个对象数据类型(普通的对象、实例、prototype......)也天生自带一个属性__proto__,属性值是当前实例所属类的原型(prototype)。原型对象中有一个属性constructor, 它指向函数对象。 ①所有引用类型都有一个__proto__(隐式原型)属性,属性值是一个普通的对象
②所有函数都有一个prototype(原型)属性,属性值是一个普通的对象
③所有引用类型的__proto__属性指向它构造函数的prototype所有实例对象有一个隐式原型指向它构造函数类的原型prototype
在JavaScript中万物都是对象,对象和对象之间也有关系,并不是孤立存在的。对象之间的继承关系,在JavaScript中是通过prototype对象指向父类对象,直到指向Object对象为止,这样就形成了一个原型指向的链条,专业术语称之为原型链。
在js中万物都是对象,对象之间也有关系,不是孤立的,对象之间的继承关系,在js中通过prototype对象指向父类对象,直到指向object对象为止,形成一个原型指向的链条,成为原型链。 举例说明:person → Person → Object ,普通人继承人类,人类继承对象类
当我们访问对象的一个属性或方法时,它会先在对象自身中寻找,如果有则直接使用,如果没有则会去原型对象中寻找,如果找到则直接使用。如果没有则去原型的原型中寻找,直到找到Object对象的原型,Object对象的原型没有原型,如果在Object原型中依然没有找到,则返回undefined。
在JavaScript中,每当定义一个函数数据类型(普通函数、类)时候,都会天生自带一个prototype属性,这个属性指向函数的原型对象,并且这个属性是一个对象数据类型的值。
构造函数模式的目的就是为了创建一个自定义类,并且创建这个类的实例。构造函数模式中拥有了类和实例的概念,并且实例和实例之间是相互独立的,即实例识别。
构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯上首字母大写。另外就是调用方式的不同,普通函数是直接调用,而构造函数需要使用new关键字来调用。
在JavaScript中,每当定义一个函数数据类型(普通函数、类)时候,都会天生自带一个prototype属性,这个属性指向函数的原型对象,并且这个属性是一个对象数据类型的值。
var person = new Person();
当访问一个实例对象person的属性方法,先在对象自身中寻找,没有则去原型对象中寻找,。如果没有就去原型的原型中寻找,直到找到object对象的原型,object对象的原型没有原型,返回null
小person有个一个隐式原型指向原型对象Person.prototype,函数类Person()有个prototype指向原型对象Person.prototype,原型对象即类函数Person()的原型,Person.prototype,
js一个定义的函数类会有一个prototype属性,这个属性指向函数的原型对象,即一个对象数据类类型,普通的对象实例,这个对象自带一个隐式原型——proto——指向函数类 的原型prototype
new Number、String、Boolean、BigInt、Symbol、Null、Undefined、Object、8种 js数据类型 numeber数字 string字符串 boolean symbol null undefined object对象
websocket 是一种网络通信协议,是HTML5 开始提供的一种在单个 TCP 连接上进行全双工通信的协议,这个对比着 http 协议来说,http 协议是一种无状态的、无连接的、单向的应用层协议,通信请求只能由客户端发起,服务端对请求做出应答处理。http 协议无法实现服务器主动向客户端发起消息,Websocket 连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端。WebSocket 只需要建立一次连接,就可以一直保持连接状态。
eventloop 浏览器提供的一种解决js执行单线程任务不阻塞的事件循执行宏任务 微任务,异步原理,执行完宏任务,再去执行宏任务里的微任务,再继续执行
vuex 有几个函数,管理公共数据的,其他组件可以引用这些数据, store.js,state声明变量数据,getter类似computer计算属性,action异步操作,mutation方法函数更新数据,监听 setter
display: flex; justify-content: center; align-items: center;
git 切换目录
千次阅读
2020-12-21 13:30:12
环境:一般推荐使用coding
网站:coding.net
-
找一个干净目录,假设是git_work
-
cd git_work
-
git clone myrepo.xxx.com/project/.gi… ,这样在git_work目录下得到一个project子目录
-
cd project git branch -a git checkout branch
-
git branch -a,列出所有分支名称如下:
remotes/origin/dev
remotes/origin/release
-
git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
-
git checkout -b release origin/release,作用参见上一步解释
-
git checkout dev,切换回dev分支,并开始开发。
-
父子间通信:父亲提供数据通过属性
props传给儿子;儿子通过$on绑父亲的事件,再通过$emit触发自己的事件(发布订阅) -
利用父子关系
$parent 、 $children, -
父组件提供数据,子组件注入。
provide 、 inject,插件用得多。 -
ref 获取组件实例,调用组件的属性、方法
-
跨组件通信
Event Bus(Vue.prototype.bus=newVue)基于on与$emit -
vuex状态管理实现通信 父组件通过属性props传给儿子 儿子通过¥on绑定父亲的事件,再通过$emit触发自己的事件 event bus跨组件通信vue.prototype.bus=newVue基于on和emit vuex状态管理实现通信 浅拷贝拿人手短改变内存的值,深拷贝自食内存的值力,不改变 原型 原型链, 每个对象都有个一个protoype属性指向函数的原型对象,函数
vue从势实例从创建到销毁,create beforecreate created beforemount mounted beforeupdate updated beforedestroy destroied 创建实例,dom创建完成,渲染数据,更新数据,监听更新渲染数据,实例被销毁,的几个钩子函数,按照一定序列,完成生命周期,
mvvm 数据更新影响视图view渲染,视图view事件操作行为影响数据更新,通过编译compiler **通过数据劫持+发布订阅模式来实现。**数据劫持和发布订阅模式
数据劫持就是给数据增加get set属性钩子函数
watch
1.基本数据类型
数字:如2,3.14
布尔值:true/false
字符串:"a","movie"
空值:null
2.结构类型
对象:{"name":"andy","age":25}
键为字符串,值为基本数据类型之一;
对象里的键值对是无序的。
数组:[1,2,3]或[{"name":"andy","age":25},{"name":"bill","age":35},{"name":"cindy","age":45}]
顺序排列的数个Json数据类型(包括基本类型、对象类型及本身)
计算属性compute 和watch属性 compute一个数据受多个数据影响,支持缓存,购物车,计算属性 watch一个数据影响多个数据,监听更更新数据,第一次不会被触发,搜索查询 默认第一次不监听数据 immediate 支 HTML5新增的标签:canvas、audio、video、source、embed、track、datalist、keygen、output、article、aside、bdi、nav、mark、rt、rp、ruby、time、wbr等。
websocket 是一种网络通信协议,是HTML5 开始提供的一种在单个 TCP 连接上进行全双工通信的协议,这个对比着 http 协议来说,http 协议是一种无状态的、无连接的、单向的应用层协议,通信请求只能由客户端发起,服务端对请求做出应答处理。http 协议无法实现服务器主动向客户端发起消息,Websocket 连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端。WebSocket 只需要建立一次连接,就可以一直保持连接状态。