自定义博客皮肤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 122

原创 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 131

原创 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 109

原创 CSS---- Flex布局

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

2021-04-10 18:29:55 68

原创 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 107

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

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

2021-04-03 16:48:19 280

原创 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 221

原创 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 250

原创 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 108

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

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

2021-02-17 20:53:35 228

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

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

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

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

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

2021-02-16 13:19:21 624

空空如也

空空如也

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

TA关注的人

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