- 博客(11)
- 收藏
- 关注
原创 内存泄漏(轻松了解)
内存生命周期 内存也是有生命周期的,不管什么程序语言,一般可以按顺序分为三个周期: 分配期 分配所需要的内存 使用期 使用分配到的内存(读、写) 释放期 不需要时将其释放和归还 什么是内存泄漏? 内存泄漏简单理解:无用的内存还在占用,得不到释放和归还。比较严重时,无用的内存会持续递增,从而导致整个系统卡顿,甚至崩溃。 JavaScript 内存管理机制 JavaScript 内存管理机制和内存的生命周期是一一对应的。首先需要分配内存,然后使用内存,最后释放内存。 内存分配 JavaScrip
2021-05-25 15:47:50
380
1
原创 了解vue里面的nextTick
什么是Vue.nextTick()? 定义:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。 所以就衍生出了这个获取更新后的DOM的Vue方法。所以放在Vue.nextTick()回调函数中的执行的应该是会对DOM进行操作的 js代码; 理解:nextTick(),是将回调函数延迟在下一次dom更新数据后调用,简单的理解是:当数据更新了,在dom中渲染后,自动执行该函数, methods:{ testClick:fu
2021-05-25 15:47:13
165
原创 Vue深入原理
数据驱动视图(MVVM) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fjw747sj-1621928755946)(C:\Users\飞牛牛\AppData\Roaming\Typora\typora-user-images\image-20210519135404701.png)] MVVM:区别与传统组件,传统组件传入的是静态数据,每次修改数据都需要操作DOM.而MVVM是通过数据驱动视图,只需要修改model(data)里面的数据就可以动态的渲染到DOM上面,不需要
2021-05-25 15:46:14
291
原创 vue总结
vue的使用 computed属性用来计算复杂的逻辑运算,通常用来对data的数据进行操作。 methods属性用来自定义一些方法,通常在created里面执行方法。 watch属性用来监听数据,当数据发生变化时watch里面的函数就会执行。如果需要监听多个属性则需要深度监听,将deep的指设置为true。也可以监听路由的变化 watch: { $route(to,from){ console.log(to.path) } } vue指令
2021-05-25 15:45:18
509
原创 清除浮动详解
浮动的语法:float:left/right; 浮动float的原本设计了作用初衷是为了实现文字环绕效果 浮动产生负作用: 1、背景不能显示 2、边框不能撑开父元素 3、margin padding设置值不能正确显示 浮动之后会使父元素内的子元素漂浮在父元素上方,造成父元素边框重叠。所以需要清除浮动来使子元素撑开父元素。 简单来说浮动是因为使用了float:left或float:right或两者都是会产生的浮动。 什么时候使用清除浮动呢?当父元素没有设置宽度或者高度的时,又需要子元素撑开父元素的时候使用清除
2021-05-25 15:44:41
211
原创 Hash模式和History模式(路由hash模式和history模式详解)
hash模式 使用window.location.hash属性及窗口的onhashchange事件,可以实现监听浏览器地址hash值变化,执行相应的js切换网页。下面具体介绍几个使用过程中必须理解的要点: hash指的是地址中#号以及后面的字符,也称为散列值。hash也称作锚点,本身是用来做页面跳转定位的。如http://localhost/index.html#abc,这里的#abc就是hash; 散列值是不会随请求发送到服务器端的,所以改变hash,不会重新加载页面; 监听 window 的 hash
2021-05-25 15:44:02
1751
原创 CSS3新特性
CSS3新特性 1.过渡 transition: CSS属性,花费时间,效果曲线(默认ease),延迟时间(默认0) 2.形状转换 transform:其中translate(x.y)平移用的最多 3.选择器 4.文字效果 换行 语法:word-break: normal|break-all|keep-all; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DX3EpVkp-1621928564565)(C:\Users\飞牛牛\AppData\Roaming\Typor
2021-05-25 15:43:09
116
原创 BFC详解
什么是BFC **具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。 ** 通俗一点来讲,可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论如何翻江倒海,都不会影响到外部。 触发BFC条件 body 根元素 浮动元素:float 除 none 以外的值 绝对定位元素:position (absolute、fixed) display 为 inline-block、table-cells、flex overfl
2021-05-25 15:42:31
196
原创 事件循环机制详解
浏览器环境下js引擎的事件循环机制 当javascript代码执行的时候会将不同的变量存于内存中的不同位置:堆(heap)和栈(stack)中来加以区分。其中,堆里存放着一些对象。而栈中则存放着一些基础类型变量以及对象的指针。 但是我们这里说的执行栈和上面这个栈的意义却有些不同。 我们知道,当我们调用一个方法的时候,js会生成一个与这个方法对应的执行环境(context),又叫执行上下文。这个执行环境中存在着这个方法的私有作用域,上层作用域的指向,方法的参数,这个作用域中定义的变量以及这个作用域的this对
2021-05-25 15:40:38
324
原创 防抖和节流详解
防抖(debounce) 基于上述场景,首先提出第一种思路:在第一次触发事件时,不立即执行函数,而是给出一个期限值比如200ms,然后: 如果在200ms内没有再次触发事件,那么就执行函数 如果在200ms内再次触发事件,那么当前的计时取消,重新开始计时 效果:如果短时间内大量触发同一事件,只会执行一次函数。 // 非立即执行版 function debounce(func, wait) { let timeout; console
2021-05-25 15:39:39
235
1
原创 JS的数据类型转换(详解)
文章目录类型1:关系运算符的隐式转换类型2:连接运算符的隐式转换类型3:复杂类型的隐式转换类型4:含有!的隐式转换 类型1:关系运算符的隐式转换 //类型1:关系运算符:会将其他的数据类型转化为Number再比较 console.log("2">10);//false console.log("2">"10");//true //这是因为 "2".charCodeAt>"10".charCodeAt console.log("abc
2020-09-11 21:35:41
371
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅