- 博客(10)
- 收藏
- 关注
原创 js检测数据类型的的几种方法。
一、typeof 1,typeof在对值类型number、string、boolean、symbol、undefined、function的反应是精准的; 2,但对于对象{ }、数组[]、null都会返回object 二、instanceof 1.基础类型 typeof运算符把对象、数组、null都返回object,为了弥补这一点,instanceof从原型的角度,来判断该对象是谁的实例。 1,用instanceof判断一个实例是否属于某种类型 2,instanc
2023-02-17 10:26:04
220
原创 什么是promise,promise的用法。
Promise 是异步编程的一种解决方案,比传统的解决方案回调函数和事件更合理和更强大。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。
2022-10-16 15:07:50
429
原创 this.$nextTick的作用和用法。
Vue实现响应式并不是数据发生变化之后DOM立即变化,而是按一定的策略进行DOM的更新。 $nextTick是在下次DOM更新循环结束之后执行延迟回调,在修改数据之后使用$nextTick,则可以在回调中获取更新后的DOM。 点击按钮之后,界面如下,注意观察三个条件渲染的结果之间的差异。 可以看到只有在$nextTick回调中的发生了改变。 简单的理解是:当数据更新了,在dom中渲染后,自动执行该函数, 当项目中你想在改变DOM元素的数据后基于新的dom做点什么,...
2022-06-13 16:34:05
767
原创 vue中父子组件的生命周期
父子组件的生命周期是一个嵌套的过程 渲染的过程父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted 子组件更新过程 父beforeUpdate->子beforeUpdate->子updated->父updated 父组件更新过程 父beforeUpdate->父updated 销毁过程 父beforeDe
2022-06-04 09:17:40
187
原创 v-for中的:key属性的作用
key的主要作用就是为了高效的更新虚拟DOM key必须是唯一标识(确保唯一性),不建议直接使用index 在使用v-for的时候,vue里面需要我们给元素添加一个key属性,这个key属性必须是唯一的标识。给key赋值的内容不能是可变的 尽量不要使用索引值index作key值,一定要用唯一标识的值,如id等。因为若用数组索引index为key,当向数组中指定位置插入一个新元素后,因为这时候会重新更新index索引,对应着后面的虚拟DOM的key值全部更新了,这个时候还是会做不必要的更新,..
2022-06-04 09:00:05
1594
原创 vue的防抖和节流
什么是防抖和节流?如何实现防抖和节流? 防抖(Debounce)和节流(Throttle)都是用来控制某个函数在一定时间内触发次数,两者都是为了减少触发频率,以便提高性能或者说避免资源浪费。 防抖 防抖就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。 举个例子: 就是你英雄联盟回城需要6秒,如果中间你又按了一次回城,那6秒就得重新计算。 <input @keyup="sends(list)" /> data(){
2022-05-27 09:00:00
645
1
原创 vue-router路由懒加载的使用
Vue为什么需要懒加载(按需加载)? Vue的特点是SPA——Single Page Application(单页应用程序)。它有着诸如:“只有第一次会加载页面,以后的每次页面切换,只需要进行组件替换;减少了请求体积,加快页面响应速度,降低了对服务器的压力”等等优点。 因为Vue是SPA,所以首页第一次加载时会把所有的组件以及组件相关的资源全都加载了。这样就会导致首页加载时加载了许多首页用不上的资源,造成网站首页打开速度变慢的问题,降低用户体验。 所以为了解决上面问题,我们需要对...
2022-05-25 10:56:28
292
原创 data为什么是一个函数,而不是方法。
根实例对象data可以是对象也可以是函数(因为根实例是单例),不会产生数据的污染。 (根实例是:vue,组件实例是vuecomponents) 组件实例对象data必须为函数,目的是为了防止多个组件实例对象之间公用一个data,产生数据污染。如果用函数的形式,initData时会将其作为工厂函数都会返回全新data对象。 Object是引用数据类型,如果不用function返回,每个组件的data都是内存的同一个地址,一个数据改变了其他也就改变了,javascipt 只有构造函数构成作用域,data是
2022-05-16 16:37:42
612
原创 js中判断两个对象是否相等。
js中判断两个对象是否相等。 js中的Object、Array、Function等复杂数据类型,是无法直接用==和===操作符进行比对的。 Object对比 const tar = { name:'张三', age:12, address:'上海市浦东新区' } const _tar = { name:'张三', age:12, address:'上海市浦东新区' } console.log(tar == _tar); // false console....
2022-05-15 19:14:37
7586
2
原创 js在new()过程中到底做了什么?
js在new()过程中到底做了什么? 1、创建一个空对象obj; var obj = {}; 2、将这个空对象的__proto__ 成员指向person函数prototype成员对象; obj.__proto__ = person.prototype; 3、将person函数对象的this指针替换成obj,然后再调用person函数, person.call(obj); 如果我们给person.prototype的对象添加一些函数,根据__proto__的特性,toString这个方法也可以.
2022-05-12 00:00:44
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人