欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

assign

程序员文章站 2022-06-01 09:18:18
...

一.赋值(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)

  1. what's shallow copy 创建一个新对象,这个新对象有着原始对象属性值的一份精确拷贝,如果属性是基本类型,拷贝的就是基本类型的值,如果属性是基本类型的值,如果属性是引用类型,拷贝的就是内存地址,所以如果其中一个对象改变了这个地址,就会影响到另一个对象。 如果浅拷贝,改变基本数据类型不会影响拷贝的基本类型;如果是引用类型改变会影响拷贝引用类型的值;因为他们是有着相同的引用地址;

三.vue计算属性;

  1. computed计算属性
定义一个函数执行;和运用计算属性;两种方式的最终结果确实是完全相同的;然而,不同的是计算属性是基于他们的依赖进行缓存的。只在相关依赖发生改变时他们才会重新求值。这就意味着相关依赖没有发生改变就不会重新求职
复制代码

四绑定类名用在组件上

Vue.component('my-component',{
  template:`<p class ="foo bar">hi</p>`
})
复制代码
  • 然后添加在使用他的时候添加一些class:
<my-component class="baz boo"></my-component>
复制代码
  • HTML将被选人为:
<p class="foo bar baz boo">hi</p>
复制代码

五绑定内联样式

  • v-bind:style 的对象语法十分直观--看着非常像css,但其实是一个javascript对象。css属性名可以用驼峰式(camelCase)或横线分隔(kabab-case,记得用单引号括起来)
<div v-bind:style="{color:activeColor,fontSize:fontSize + 'px'}"></div>
复制代码

事件修饰符

.stop ,.prevent,.capture,.self,.once,.passive
复制代码
<a v-on:click.stop="doThis"></a>

<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>
<!-- 添加事件监听时使用事件捕获模式 -->
<!-- 即元素自身触发的事件先在此处理,然后才交由内部元素进行处理 -->
<div v-on:click.capture="dothis">.....</div>
<!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
<!-- 即事件不是从内部元素触发的 -->
<div v-on:click.self="dothat"></div>
复制代码

函数的length属性

  • 指定了默认值以后,函数的length属性,将返回没有指定默认值的参数个数,也就是说,指定了默认值后,length属性将失真。
  • 严格模式 es5开始,函数内部可以设定为严格模式。
function doSomething(){
  'use strict';
}
复制代码

转载于:https://juejin.im/post/5cadd6c8f265da039b085631