Menu

js

一文吃透浏览器渲染基本原理

大多数设备的刷新频率是60Hz,也就说是浏览器对每一帧画面的渲染工作要在16ms内完成,超出这个时间,页面的渲染就会出现卡顿现象,影响用户体验。前端的用户体验给了前端直观的印象,因此对B/S架构的开发人员来说,熟悉浏览器的内部执行原理显得尤为重要…

Vue重点知识总结—vue-router

1.vue-router导航守卫(生命周期钩子) 全局前置守卫:router.beforeEach 全局解析守卫:router.beforeResolve 全局后置钩子:router.afterEach 路由独享钩子:在路由配置中添加beforeEnter钩子 组件内钩子:beforeRouteEnter,beforeRouteUpdate ,beforeRouteLeave 详见文档 2.导航守卫解析流程 导航被触发。 在失...

js事件循环机制总结

js是一门单线程语言,但却能优雅地处理异步程序,在于js的事件循环机制。 浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程,其中浏览器渲染进程(浏览器内核)属于浏览器多进程中的一种,主要负责页面渲染,脚本执行,事件处理等 其包含的线程有:GUI 渲染线程(负责渲染页面,解析 HTML,CSS 、构造 DOM ...

js外部脚本异步加载方式

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

js知识总结—基础知识篇

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

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

作为前端开发中现行最火的框架之一,基于此,总结了一些 Vue 方面经常出现的问题,留给自己查看消化,也分享给有需要的小伙伴。 由于篇幅较长,不能将所有知识点放到一篇文章内。这是Vue重点知识梳理理论篇的第二篇。前端茫茫,学无止境。 1.Vue模板编译原理 template –>parse(template) –> ast树(抽...

js知识总结—ES6篇(二)

1.Fetch替代Ajax Fetch并不是ES6的语法(应该是ES7),而是未来用于替代XMLHttpRequest的API, 它是W3C的正式标准。 Fetch API提供了一个fetch()方法,它被定义在BOM的window对象(全局方法)中。 该方法返回的是一个Promise对象。 fetch 规范与 jQuery.ajax() 不同: 当接收到一个代表错误的 HTTP 状态码时,从 fetch(...

js知识总结—ES6篇(一)

1.列举ES6的一些新特性 默认参数 模板字符串 解构赋值 增强的对象字面量  箭头函数 Promises 异步 generator和async/await 块作用域 和let和const Class 类 Modules 模块 2.let ,const,var及其区别 var 声明的变量会发生提升。虽然变量还没有被声明,但是我们却可以使用这个未被声明的变量,这种情况就叫做提升,并且...

js知识总结—理论知识篇(二)

71.js事件循环机制 js是一门单线程语言,但却能优雅地处理异步程序,在于js的事件循环机制。 浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程,其中浏览器渲染进程(浏览器内核)属于浏览器多进程中的一种,主要负责页面渲染,脚本执行,事件处理等 其包含的线程有:GUI 渲染线程(负责渲染页面,解析 HTM...

js知识总结—常用功能代码实现

这里是一些常用的功能、工具类代码写法,长期完善。 1.防抖 触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间。 将多次操作合并为一次操作进行。原理是维护一个计时器,规定在delay时间后触发函数,但是在delay时间内再次触发的话,就会取消之前的计时器而重新设置。这样一来,只有最...