自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 Vue - 数据双向绑定原理

转载自 掘金 我是你的超级英雄 链接:https://juejin.cn/post/6844903903822086151 当被问到 Vue 数据双向绑定原理的时候,大家可能都会脱口而出:Vue 内部通过 Object.defineProperty方法属性拦截的方式,把 data 对象里每个数据的读写转化成 getter/setter,当数据变化时通知视图更新。虽然一句话把大概原理概括了,但是其内部的实现方式还是值得深究的,本文就以通俗易懂的方式剖析 Vue 内部双向绑定原理的实现过程。然后再根据

2021-04-19 20:45:37 239

原创 CSS----利用flex 圣杯布局 双飞翼布局

介绍两个布局中使用的flex属性 order: 根据值来进行排序 可为负值 box-grow: grow意为成长 可以使 items增长 flex: (flex-grow||flex-shrink||flex-basis) 圣杯布局: <style> .container{ width: 100%; display: flex; } .left,.right,.center{

2021-04-12 21:15:01 247

原创 JS数据结构------ 快速排序 拆解

快速排序的平均效率是O(N * logN). 手撕鬼子开始~ 1. 封装添加元素方法 ArrayList.prototype.insert=function(item){ this.array.push(item) } 2. 封装交换位置方法 ArrayList.prototype.swap=function(m,n){ var temp = this.array[m] this.array[m]=this.array[n] this.

2021-04-10 23:12:21 204

原创 CSS---- Flex布局

主轴:main axis 交叉轴 : cross axis Flex-container: display:flex/inline-flex ⬆ 开 启 flex 布局 flex-direction: 决定主轴的方向 justify-content :决定主轴上 flex-item 如何排布 align-items: 决定flex-item 在交叉轴上的对齐方式 normal stretch flex-start flex-end center baseline(与基线对齐 字都对齐)

2021-04-10 18:29:55 143

原创 JS ES6--经典题目 var let const 区别

var 作用于 函数作用域 let 作用于 块级作用域 var 会使变量提升 let 不会使变量提升 var会使函数作用域中的变量成为windows对象 let 不会使变量成为windows对象 const 声明变量时必须初始化变量 声明后修改变量会导致运行错误 原因: const储存基本类型变量不可更改 储存的引用数据类型可以更改 基本类型变量保存在栈中 引用的数据类型保存在堆中的地址 保存变量的值实际上是引用栈的地址 只要地址不变 引用的数据类型就不变 console.log(age) //undef

2021-04-10 18:28:01 184

原创 JS数据结构与算法---- 替换字符串的空格

转载自 力扣 剑指Offer 第五题 思路整理: 大致方法: 双指针 此想法来自于JS题解点赞量最高的大佬 膜拜大佬~ 首先我们要了解 英文的空格符 占了一个字符单位 中文的空格符 占了两个字符单位 此题 为英文空格符 题中 将空格替换成 '%20'占了三个字符单位 本题运用双指针 需要比较原字符串长度 和 新占位字符串长度的关系 空格 占 1单位 %20 占3单位 我们记录下原字符串 中空格的数量 得出关系 newLength=ol.

2021-04-03 16:48:19 400

原创 JS数据结构---单向列表 难点添加insert操作封装解析

情况1:添加位置为0时 此时链表的指向可直接指向新添加的节点 情况2:position位置大于1时 此时定义两个变量Current,Previous为保存原来的位置 遍历每个节点 先将previous记录为使得current指向所需操作位置的节点,遍历结束后,将要添加的节点的NEXT指向current,Previous的NEXT 指向添加的节点 function LinkedList(){ function node(data,next){ this.data=data, .

2021-02-24 15:01:35 341

原创 JS数据结构---队列操作经典面试题 击鼓传花方法实现

队列操作面试题中最为经典的则是击鼓传花问题 思路分析: 将五个人依次放入队列内 设定每次数三人 将其从队列中删除 第三个人之前的人 先从队列中删除 然后在重新添加到队列中 循环 直到队列中只剩一个人 代码实现: function PassGame(nameList,num){ //1-创建一个队列结构 var queue=new Queue() //2-将队员名字压入队列中 for(var i=0;i<nameList.length;i++){ queue.enqueue(nameLi

2021-02-18 13:28:39 391

原创 JS数据结构---队列操作封装

队列内元素进出的规则 是 先进先出 FIFO(first in first out) 代码如下 //封装队列操作 function Queue() { this.items=[] //1.将元素压入队列中操作 Queue.prototype.enqueue = function (element) { this.items.push(element) } //2.将最先进来的元素从队列中删除 跟pop相反 Queue.proto

2021-02-18 13:20:05 208

原创 JS数据结构---栈内操作 处理十进制转二进制代码

计算十进制转换为二进制的过程可以当成把每个计算后取余的数字压入栈内的操作 具体实现过程如下 // 十进制转二进制代码 function dec2bin(decNumber){ //定义栈 var stack=new Stack() //将数字压入栈内 while(decNumber>0){ // 1- 获取余数 将其压入栈内 stack.push(decNumber%2) // 2- 获取整除后的结果 作为下一次取余的数字 dec.

2021-02-17 20:53:35 345

原创 JS数据结构---栈结构操作的封装

介绍栈结构操作的一些封装 1- 创建栈类 定义属性 // Method:和某一个对象实例有关系的 是方法 // Function: 函数 / /封装栈类 function Stack(){ / /栈中属性 this.items=[] } / / 栈的使用 var s = new Stack 2. 对操作进行封装 //封装栈类 function Stack(){ //栈 中的一些属性 this.items=[] //栈内

2021-02-16 20:01:10 240 1

原创 JS数据结构---栈结构基础面试题(进栈出栈问题)

首先我们了解一下 栈结构 出栈 进栈 原则 先进后出 答案 C 本题考查 栈结构原则 — 先进后出 A选项 5出栈 先 栈底6-5栈顶 后 栈底 6 4出栈 先 栈底6-4栈顶 后 栈底 6 3出栈 先 栈底6-3栈顶 后 栈底 6 6出栈 先 栈底6 后 栈底 null 1出栈 先 栈底2-1栈顶 后 栈底2 2出栈 B选项 4 5 3 2 1 6 4出栈 先 栈底6-5-4栈顶 后 栈底 6-5栈顶 5出栈 先 栈底6-5栈顶

2021-02-16 13:19:21 736

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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