摘要: 我们都知道JS是一种单线程语言,即使是一些异步的事件也是在JS的主线程上运行的(具体是怎么运行的,可以看我另一篇博客JS代码运行机制)。像setTimeout、ajax的异步请求,或者是dom元素的一些事件,都是在JS主线程执行的,这些操作并没有在浏览器中开辟新的线程去执行,而是当这些异步操作被操作 阅读全文
posted @ 2019-05-01 16:53 decode126 阅读(3264) 评论(0) 推荐(0) 编辑
摘要: 一、引子 本文介绍JavaScript运行机制,这一部分比较抽象,我们先从一道面试题入手: 这一题看似很简单,但如果你不了解JavaScript运行机制,很容易就答错了。题目的答案是依次输出1 2 3,如果你有疑惑,下文有详细解释。 二、理解JS的单线程的概念 JavaScript语言的一大特点就是 阅读全文
posted @ 2019-05-01 11:38 decode126 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 背景 背景 背景 背景 背景 背景 背景 背景 前两天在做小程序的需求的时候用到bind的时候才想起自己对这三的东西的了解比较浅薄,这个时候用的时候就有点怕。时候还是要好好学习下,理解下怎么玩。 正文 先说call 和 apply吧:ECMAScript3给Function的原型定义了两个方法,他们 阅读全文
posted @ 2019-05-01 11:31 decode126 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 文章目录 apply、call apply、call 区别 apply、call实例 数组之间追加 获取数组中的最大值和最小值 验证是否是数组(前提是toString()方法没有被重写过) 类(伪)数组使用数组方法 面试题 bind 绑定函数 偏函数(Partial Functions) 和setT 阅读全文
posted @ 2019-05-01 11:25 decode126 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 在javascript中原型和原型链是一个很神奇的东西,对于大多数人也是最难理解的一部分,掌握原型和原型链的本质是javascript进阶的重要一环。今天我分享一下我对javascript原型和原型链的理解。 一、对象等级划分 我们认为在javascript任何值或变量都是对象,但是我还需要将jav 阅读全文
posted @ 2019-05-01 07:15 decode126 阅读(133) 评论(0) 推荐(0) 编辑