一.赋值(copy)
赋值是将某一个数值或对象赋给某个变量的过程;
- 基本数据类型:赋值,赋值之后两个变量互不影响
基本数据类型:undefined,blooean,string,number,null; 复杂数据类型:object,Symbol ;
- 引用数据类型:赋址,两个变量具有相同的引用,指向同一个对象,相互之间有影响 对引用类型进行赋址操作,两个变量指向同一个对象,改变变量a之后会影响变量b,哪怕改变的只是对象a中的基本类型数据。
let a ={ name:'muyiy', book:{ title: "you don't know js", price:'4s' } } let b = a; console.log(b); a.name = 'change'; a.book.price ='55'; console.log(a,'a'); console.log(b,'b'); 改变了对象a对象b也跟着改变
二.浅拷贝(shallow copy)
- what's shallow copy 创建一个新对象,这个新对象有着原始对象属性值的一份精确拷贝,如果属性是基本类型,拷贝的就是基本类型的值,如果属性是基本类型的值,如果属性是引用类型,拷贝的就是内存地址,所以如果其中一个对象改变了这个地址,就会影响到另一个对象。 如果浅拷贝,改变基本数据类型不会影响拷贝的基本类型;如果是引用类型改变会影响拷贝引用类型的值;因为他们是有着相同的引用地址;
三.vue计算属性;
- computed计算属性
定义一个函数执行;和运用计算属性;两种方式的最终结果确实是完全相同的;然而,不同的是计算属性是基于他们的依赖进行缓存的。只在相关依赖发生改变时他们才会重新求值。这就意味着相关依赖没有发生改变就不会重新求职复制代码
四绑定类名用在组件上
Vue.component('my-component',{ template:``})复制代码
- 然后添加在使用他的时候添加一些class:
复制代码
- HTML将被选人为:
复制代码
五绑定内联样式
- v-bind:style 的对象语法十分直观--看着非常像css,但其实是一个javascript对象。css属性名可以用驼峰式(camelCase)或横线分隔(kabab-case,记得用单引号括起来)
复制代码
事件修饰符
.stop ,.prevent,.capture,.self,.once,.passive复制代码
.....
复制代码 函数的length属性
- 指定了默认值以后,函数的length属性,将返回没有指定默认值的参数个数,也就是说,指定了默认值后,length属性将失真。
- 严格模式 es5开始,函数内部可以设定为严格模式。
function doSomething(){ 'use strict';}复制代码