JS进阶
文章平均质量分 84
很多人对 JavaScript 这门语言的印象都是简单易学,很容易上手。JavaScript 语言本身有很多 复杂的概念,语言的使用者不必深入理解这些概念也可以编写出功能全面的应用。殊不知,这些 复杂精妙的概念才是语言的精髓。
道阻且长没关系
这个作者很懒,什么都没留下…
展开
-
export、export default、import 的注意和require
export 暴露有两种形式,一个是声明,一个是直接暴露对象,如下使用export default 后面必须是表达式,也就是有返回值的,例如一个js文件只能有一个export default总结:export和export default:相同点:1、export和export default均可用于导出常量,函数,文件,模块等。不同点:1、在一个文件或模块中,export、import可以有多个,但是export default仅有一个。原创 2022-11-22 00:10:39 · 2536 阅读 · 0 评论 -
promise.then返回结果几种情况
首先实例化一个promise对象。promise对象身上有then方法,可用来指定回调,对成功和失败的结果进行处理。它接受两个回调函数,一个是resolve成功的回调,一个是reject失败的回调。const p = new Promise((resolve, reject) => { setTimeout(() => { resolve('成功的回调'); // reject('失败的回调'); }, 1000);});p.then(v原创 2022-04-12 00:28:40 · 16821 阅读 · 3 评论 -
JavaScript的this指向问题
普通函数:谁调用就指向谁,如果没有调用者,就指向全局对象window。箭头函数:箭头函数的this指向于函数作用域所用的对象。它的永远是外层函数的一、在全局作用域下,this始终指向全局对象window,无论是否是严格模式!二、普通函数内的this分为两种情况,严格模式下和非严格模式下。 三、对象中的this,对象内部方法的this指向调用这些方法的对象,也就是谁调用就指向谁。一层对象。 二层对象,多层嵌套的对象,内部方法的this指向离被调用函数最近的对象。 四、箭原创 2022-06-30 22:28:41 · 410 阅读 · 0 评论 -
JS对象及其属性描述
对象是无序的属性和方法的集合,对象它被认为是某个特定引用类型的实例,在 ECMAScript 中,引用类型是一种数据结构,它描述了某类对象所具有的属性和方法,(因此引用类型也可以理解为对象的类型/分类)。虽然引用类型有点像类,但跟类并不是一个概念。常用的引用类型有Object、Array、Date、Function、RegExp、Error、Boolean、Number、String。原创 2023-10-26 21:22:53 · 136 阅读 · 1 评论 -
JavaScript引擎
JavaScript引擎就是能够“读懂”JS代码,并准确地给出JS代码运行结果的一段程序。简单点说,就是负责整个 JavaScript 程序的编译及执行过程。一个 JavaScript 引擎一般需要包括以下几个部分:编译器:负责语法分析及代码生成等脏活累活,主要工作是将源代码编译成抽象语法树。解释器:在某些引擎中,解释器主要是接收字节码,解释执行这个字节码,同时也依赖垃圾回收机制等。JIT 工具:提高 js 的执行速度,将字节码或者抽象语法树转换成本地代码。原创 2023-06-06 22:59:25 · 298 阅读 · 1 评论 -
JS垃圾回收机制
背景:垃圾回收机制是JS引擎的一部分,JS引擎有很多种(各个浏览器都不同),所以垃圾回收机制在一些细节及优化上略有不同。原创 2023-06-13 00:09:41 · 162 阅读 · 1 评论 -
JS同步和异步+事件循环
因此,JavaScript在设计的时候,就已经考虑到这个问题,主线程无需等待这些耗时任务执行完成(此时这些耗时任务正在执行中),先运行排在后面的任务,等到这些耗时任务有了结果后,再回过头执行他们,因此,所有任务可以分成两种,一种是同步任务,另一种是异步任务。全部同步任务执行完成后,才会去执行异步任务,遇到同步任务,如果他不执行,程序会卡在那,后面的任务无法执行,遇到异步任务,程序不会卡住,而是继续执行后面的任务。异步任务分为宏任务和微任务,也就是任务队列分为 微任务队列 和 宏任务队列。原创 2023-05-04 00:22:26 · 746 阅读 · 0 评论