自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 面试之:前端跨域的方法

JSONP跨域 JSONP的实现原理: (1).客户端动态创建

2021-02-15 00:18:30 328 1

原创 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关注的人

提示
确定要删除当前文章?
取消 删除