1.v-if和v-show的区别?
在Vue.js中,v-if和v-show都是用于控制DOM元素的显示和隐藏的指令
v-if:当条件为真时,渲染对应的DOM元素;当条件为假时,从DOM中删除对应的DOM元素。v-if在条件切换时,会真实地添加或删除DOM元素,因此在条件切换频繁时,可能会有性能开销。
v-show:当条件为真时,将对应的DOM元素设置为可见;当条件为假时,将对应的DOM元素设置为隐藏(display: none)。v-show只是通过CSS样式来控制元素的显示和隐藏,而不会对DOM进行添加或删除操作。因此,v-show在条件切换时,性能上比v-if更高。
2.promise和async的区别
Promise和async/await都是用于处理JavaScript异步操作的机制
语法:Promise是基于回调函数的链式调用,而async/await是基于ES7引入的异步函数语法糖。
错误处理:在Promise中,可以使用.catch()方法或在链式调用中的.then()方法的第二个参数来处理错误。而在async/await中,可以使用try...catch块来捕获和处理错误。
可读性:相对而言,async/await的代码可读性更高,更像是同步代码的写法,而Promise的链式调用可能会显得更加冗长和难以理解。
异步操作处理:在使用Promise时,需要通过.then()方法来处理异步操作的结果。而在async/await中,可以通过在await关键字前面调用异步函数,并通过等待