- 博客(8)
- 收藏
- 关注
原创 JS数据结构与算法之:栈和队列
栈 了解栈 栈(stock),是一种受限的线性表,后进先出。 有函数A调用函数B,函数B调用函数C,它们的进出栈情况是: A压入栈,A执行时调用B,B压入栈。B执行时调用C,C执行完成。此时顺序为:栈底 A-B-C 栈顶。 C执行完成后弹出栈-B再弹出栈,最后A弹出栈。 思考:有6个元素按照6,5,4,3,2,1的顺序进栈,下列哪个不是正确的出栈顺序 A.5,4,3,6,1,2 B.4,5,3,2,1,6 C.3,4,6,5,2 ,1 D.
2021-05-09 18:25:25
294
原创 ES6中的类以及继承
super关键字用于访问和调用父类上的构造函数,也可以调用父类的普通函数。 super必须在子类this之前调用 class Star{ constructor(name,age){ this.name=name; this.age=age; } message(){ return "姓名:"+this.name+","+"年龄"+this
2021-01-27 00:16:01
204
原创 defineProperty属性的理解与使用
defineProperty的参数 defineProperty(obj,prop,desc) 第一个参数为需要定义属性的对象 第二个参数为需要定义的属性名 第三个参数为属性描述符 var obj={} //为obj对象添加name属性,值为lisa Object.defineProperty(obj,"name",{ value:"lisa" }) console.log(obj) //{name:'lisa'} //为obj对象同时添加多个属性 Object.define
2021-01-04 21:24:56
6129
原创 双向绑定的原理
双向绑定的核心原理 核心是采用数据劫持结合发布者订阅者模式,通过Object.defineProperty()对每个属性的get和set进行拦截。在数据发生变化的时候发布消息给订阅者,触发相应的监听回调。 仅仅使用Object,defineProperty()就能完成一个简单的双向绑定,但是效率比较低。观察者模式让双向绑定更有效率,它是一对多的模式,一指的是修改的一处数据,多是凡是用了这个数据的地方都更新。数据劫持就是利用Object.defineProperty()读操作数据的set,get。 极简的双向
2020-12-27 17:58:15
10996
原创 reduce()的使用
定义和用法 接收一个函数作为一个累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 应用场景:下次操作的初始值,依赖于上次操作的返回值。 例子:实现对数组的累加操作 1.数值的累加计算 普通写法 let arr=[1,2,3,4,5] let total=0 arr.forEach(i=>{ total+=i }) reduce()方法 var arr=[1,2,3,4,5] let total=arr.reduce((pre,cur)=>{ return pre+cur }
2020-12-09 21:04:44
223
原创 Vue3.0中main.js引入插件和配置全局属性
引入插件 import { createApp } from 'vue' import App from './App.vue' import router from './router/index' import store from './store/index' const app=createApp(App); app.use(router) app.use(store) createApp(App).mount('#app') 配置全局属性 import { createApp } from '
2020-11-17 14:53:47
8606
1
原创 vue-router懒加载的三种方式
未使用懒加载 import Vue from 'vue'; import Router from 'vue-router'; import HelloWorld from '@components/HelloWorld'; Vue.use(Router); export default new Router({ routes:[ {path:'./', name:'HelloWorld', component:HelloWorld } ] }) vue异步组件 component:resolve=
2020-11-17 09:19:21
2509
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅