JS 的数据类型有几种? 有什么区别
- Number、String、Boolean、Null、undefined、object、symbol、bigInt
- 区别
- 基本类型(单类型):除Object。 String、Number、boolean、null、undefined。
- 引用类型:object。里面包含的 function、Array、Date。
- ES6 中新增了一种
Symbol这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。 - 谷歌67版本中还出现了一种
bigInt。是指安全存储、操作大整数。
Vue中常用修饰符
v-model修饰符
.lazy-<input type="text" v-model.lazy="value">- 输入框改变,这个数据就会改变, .lazy 光标离开input框才会更新数据
.trim-<input type="text" v-model.trim="value">- 输入框过滤首尾的空格
.number-<input type="text" v-model.number="value">- 先输入数字就会限制输入只能是数字,先字符串就相当于没有加number,注意,不是输入框不能输入字符串,是这个数据是数字
事件修饰符
-
.stop-<button @click.stop="test"></button>- 阻止事件冒泡,相当于调用了event.stopPropagation()方法:
-
.prevent-<a @click.prevent="test"></a>- 阻止默认行为,相当于调用了event.preventDefault()方法,比如表单的提交、a标签的跳转就是默认事件:
-
.self-<div @click.self="test"></div>- 只有元素本身触发时才触发方法,就是只有点击元素本身才会触发。比如一个div里面有个按钮,div和按钮都有事件,我们点击按钮,div绑定的方法也会触发,如果div的click加上self,只有点击到div的时候才会触发,变相的算是阻止冒泡:
-
.once-<div @click.once="test"></div>- 事件只能用一次,无论点击几次,执行一次之后都不会再执行
-
.capture- 事件的完整机制是捕获-目标-冒泡,事件触发是目标往外冒泡
-
.sync- 对prop进行双向绑定
-
.keyCode- 监听按键的指令,具体可以查看vue的键码对应表