![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
文章平均质量分 81
a380776767
这个作者很懒,什么都没留下…
展开
-
JavaScript难点系列(三):异步编程
深入了解js这门语言后,才发现它有着诸多众所周知的难点(例如:闭包、原型链、内存空间等)。有的是因为js的设计缺陷导致的,而有的则是js的优点。不管如何,总需要去学会它们,在学习过程中我觉得只看别人的文章并不能做到深刻理解,所以我决定写这一系列的文章来记录我所学习到的知识点,也方便自己以后回顾,如有写错的地方欢迎指正。 废话不多说,马上进入正题!一、现在和将来在我刚开始学习js的时候,并不知道j原创 2017-08-16 14:35:01 · 430 阅读 · 0 评论 -
JavaScript小知识点(二):函数防抖和节流
函数防抖函数防抖就是让某个函数满足等待某个时间内不再触发此函数后再执行, 而在这个等待时间内再次触发此函数, 等待时间会重新计算。例如监听滚动无限加载时,如果没有对请求函数进行防抖控制,用户拉到底部时会多次触发请求函数。进行防抖控制后,只有用户拉到底部并且在规定的事件内不再滚动才会触发请求函数。function debounce(func, wait) { var timeout;原创 2017-09-03 17:25:35 · 271 阅读 · 0 评论 -
JavaScript难点系列(六):原型链与继承
类和构造函数JS中使用构造函数来定义类:function Range(from, to) { this.from = from this.to = to}Range.prototype.includes = function(x) { return this,from this.to}Range.prototype.toString = function原创 2017-09-28 16:09:18 · 186 阅读 · 0 评论 -
Vue数据绑定原理及简单实现
本篇文章中的代码只是部分片段,完整代码存放于github上https://github.com/Q-Zhan/simple-vue。进入正文~实现数据绑定主要是要实现两个方面的功能:数据变化导致视图变化,视图变化导致数据变化。后者比较容易实现,就是监听视图的事件,然后在回调函数中改变数据。所以重点是数据变化时如何改变视图。 这里的思路是通过object.defineProperty()来对数...原创 2018-03-31 09:38:14 · 6277 阅读 · 0 评论 -
浅析badjs源码
最近在研究前端监控方案,由于工作需要研究了下鹅厂的badjs源码,主要是看了前端上报这一块,也就是badjs-report。关于badjs的使用可以看下官方文档前端监控痛点了解一个框架或者库之前要先思考它想解决的是什么问题。前端异常监控系统的落地这篇文章比较详细地总结了前端监控所需要解决的问题,总结了下有:错误拦截上报错误离线错误日志存储错误路径回放日志可视化管理后台...原创 2018-07-09 17:53:19 · 779 阅读 · 0 评论 -
nodejs的事件循环机制
一直以来,我写的的大部分JS代码都是在浏览器环境下运行,因此也了解过浏览器的事件循环机制,知道有macrotask和microtask的区别。但最近写node时,发现node的事件循环机制和浏览器端有很大的不同,特此深入地学习了下。单线程在传统web服务中,大多都是使用多线程机制来解决并发的问题,原因是I/O事件会阻塞线程,而阻塞就意味着要等待。而node的设计是采用了单线程的机制,但它为什么...原创 2019-06-01 21:44:28 · 932 阅读 · 0 评论 -
JavaScript小知识点(一):深浅拷贝
浅拷贝一般我们需要拷贝复制的就是对象和数组两种数据类型。对于数组可以利用一些原生的方法来实现浅拷贝。var old_arr = ['old']var new_arr1 = old_arr.slice()var new_arr2 = old_arr.concat() 而对于对象可以使用for in 循环var old_obj = {'a': 'old'}var new_obj = {}for原创 2017-08-16 14:48:46 · 259 阅读 · 0 评论 -
JavaScript难点系列(五):执行上下文
深入了解js这门语言后,才发现它有着诸多众所周知的难点(例如:闭包、原型链、内存空间等)。有的是因为js的设计缺陷导致的,而有的则是js的优点。不管如何,总需要去学会它们,在学习过程中我觉得只看别人的文章并不能做到深刻理解,所以我决定写这一系列的文章来记录我所学习到的知识点,也方便自己以后回顾,如有写错的地方欢迎指正。 废话不多说,马上进入正题!顺序执行每个人刚学JS时都会知道JS执行代码时是顺序执原创 2017-08-16 14:38:56 · 237 阅读 · 0 评论 -
JavaScript难点系列(一):内存空间
深入了解js这门语言后,才发现它有着诸多众所周知的难点(例如:闭包、原型链、内存空间等)。有的是因为js的设计缺陷导致的,而有的则是js的优点。不管如何,总需要去学会它们,在学习过程中我觉得只看别人的文章并不能做到深刻理解,所以我决定写这一系列的文章来记录我所学习到的知识点,也方便自己以后回顾,如有写错的地方欢迎指正。 废话不多说,马上进入正题!一、基本数据类型和引用类型S中有五种基本数据类型:原创 2017-08-16 11:07:07 · 275 阅读 · 0 评论 -
JavaScript难点系列(二):this
深入了解js这门语言后,才发现它有着诸多众所周知的难点(例如:闭包、原型链、内存空间等)。有的是因为js的设计缺陷导致的,而有的则是js的优点。不管如何,总需要去学会它们,在学习过程中我觉得只看别人的文章并不能做到深刻理解,所以我决定写这一系列的文章来记录我所学习到的知识点,也方便自己以后回顾,如有写错的地方欢迎指正。 废话不多说,马上进入正题!一、默认绑定在看过很多种的this解读思路后,我觉原创 2017-08-16 11:52:48 · 278 阅读 · 0 评论 -
JavaScript难点系列(四):作用域
深入了解js这门语言后,才发现它有着诸多众所周知的难点(例如:闭包、原型链、内存空间等)。有的是因为js的设计缺陷导致的,而有的则是js的优点。不管如何,总需要去学会它们,在学习过程中我觉得只看别人的文章并不能做到深刻理解,所以我决定写这一系列的文章来记录我所学习到的知识点,也方便自己以后回顾,如有写错的地方欢迎指正。 废话不多说,马上进入正题!函数作用域有句人人皆知的江湖传言:“JavaScr原创 2017-08-16 14:35:57 · 231 阅读 · 0 评论 -
浏览器的多进程、多线程运行机制
多进程的浏览器进程概念进程是操作系统分配资源的基本单位,而浏览器是多进程的程序。浏览器通过多个tab页来加载多个页面,标准上一个tab页应对应浏览器的一个进程。浏览器之所以能加载出页面,是因为操作系统给浏览器的各个进程分配了资源(CPU、内存)。浏览器包含的进程浏览器在打开后具体包含以下主要进程(未开始打开tab页加载页面):Browser进程:浏览器的主进程,主要作用有...原创 2019-06-01 21:45:39 · 2074 阅读 · 0 评论