Menu

前端

前端开发相关笔记,包括一些开发经验和代码。

排序算法

每个语言一般都有语言自带的排序方法,每个语言的排序内部实现都是不同的。对于 JS 来说,数组长度大于 10 会采用快排,否则使用插入排序。抛开语言自带的排序方法,这里总结了一些排序的算法…

ES6之includes方法详解及其与indexOf区别

Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。ES2016引入了该方法。 includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。 includes()方法在字符串中使用时,相当于indexOf(),查询成功返回true,失败返回false。 'abc'.inc...

DOM之事件触发、冒泡、捕获详解

DOM触发事件方法 1.html attribute 标签中添加事件属性 <input value="Click me" onclick="alert('Click!')" type="button"> js逻辑在属性里创建,不是很好,写到一个方法里. <script> function countRabbits() { for(let i=1; i<=3; i++) { alert("Rabbit number " + i); } }...

js外部脚本异步加载方式

如何异步加载js脚本 1.动态插入标签的方式 通过操作dom,可以在任意位置创建js脚本,这种方式优点是无论在何时启动下载,文件的下载和执行过程不会阻塞页面其他进程(包括脚本加载)。 var script=document.createElement('script'); script.type='text/javaScript'; script.src='file1.js'; document.getElements...

如何优化CSS阻塞

默认情况下,CSS 被视为阻塞渲染的资源,这意味着浏览器将不会渲染任何已处理的内容,直至 CSSOM 构建完毕。所以要精简 CSS,尽快提供它,并利用媒体类型和查询来解除对渲染的阻塞。 总而言之,记住下面这几条: 默认情况下,CSS 被视为阻塞渲染的资源。 我们可以通过媒体类型和媒体查询将一些 CSS 资源标记为不阻塞渲...

js知识总结—基础进阶篇

1.eval(jsstr)和new Function(jsstr) eval和new Function都可以动态解析和执行字符串。会将字符串转义为js代码。区别如下: 1.对解析内容的运行环境判定不同:eval中的代码执行时的作用域为当前作用域,它可以访问到函数中的局部变量,也可以访问全局变量。new Function中的代码执行时的作用域为全局作用域,不论它的在...

js知识总结—基础知识篇

1.js判断变量类型 typeof可以判断一般类型。但无法准确识别对象。所有对象或类对象类型(null)都为”object”,比如数组typeof [] == "object"。JS数据类型在底层都是以二进制的形式表示的,二进制的前三位为 0 会被 typeof 判断为对象类型,而 null 的二进制位恰好都是 0 ,因此,null 被误判断为 Object ...

Vue重点知识总结—性能篇

1.vue性能优化 1.编码优化(代码层面) 不要将所有数据都放到data中,因为data中数据会遍历添加getter和setter,会收集对应的watcher 若在方法或计算属性中不对组件数据进行修改,最好在刚开始时就将数据赋值给变量,之后使用直接使用变量效率较高(let {user,list} = this)。 在v-for时需要给每项元素绑定事件时用外...

Vue重点知识总结—理论篇(二)

作为前端开发中现行最火的框架之一,基于此,总结了一些 Vue 方面经常出现的问题,留给自己查看消化,也分享给有需要的小伙伴。 由于篇幅较长,不能将所有知识点放到一篇文章内。这是Vue重点知识梳理理论篇的第二篇。前端茫茫,学无止境。 1.模板引擎原理(指令和插槽表达式如何生效) 使用with改变作用域,渲染数据。并...

Vue重点知识总结—理论篇(一)

作为前端开发中现行最火的框架之一,Vue 在面试中出现的频率不断增加。基于此,总结了一些 Vue 方面经常出现的面试题,留给自己查看消化,也分享给有需要的小伙伴。 就算工作时间再久,不刷题,是不能那么容易过面试的。我相信就算你是面试官,也不会百分百了解你所问的问题,也不能做到面面俱到。我一直相信,成功的面...