javaScript基础
文章平均质量分 62
提供大量js基础讲解,包含作用域,作用域链,闭包,继承,new的过程,promise等源码讲解。
小圳圳
小白程序员,多多关照
展开
-
js中“==” 和“===”的区别
” 是两种比较操作符,它们的区别在于它们进行比较时对数据类型的处理方式不同。因此,无论是对于基本数据类型还是引用数据类型,都应该根据实际需要选择使用"=” 的行为略有不同,但本质上遵循相同的规则:比较的是引用的地址。=" 进行比较,除非你明确需要类型转换的情况下再使用"=="。对于引用数据类型(如对象、数组)来说,“在JavaScript中,“原创 2024-03-13 14:22:26 · 301 阅读 · 0 评论 -
三分钟搞定普通函数和箭头函数的this指向问题
obj.getAge()是一个普通函数,根据口诀:“谁调用这个函数,函数的this就指向谁”因此此时的getAge()this指向obj,再分析其中的箭头函数的this,根据口诀:“箭头函数定义时的执行上下文的this是谁,箭头函数的this就指向谁”这里的执行上下文就是函数getAge的函数作用域,因此函数getAge()的this指向谁,其内部的箭头函数也指向谁-----所以obj.getAge()执行输出2001。原创 2024-03-13 15:41:09 · 129 阅读 · 0 评论 -
常见面试题总结
JAVASCRIPT部分📙说说JavaScript数据类型JavaScript中的数据类型主要有8中,分别是7种基本数据类型以及1种引用数据类型:Null Undefined Boolean Number BigInt String Symbol 和 Object。JavaScript的类型系统松散,没有严格类型要求,因此我们需要借助typeOf来判断数据类型。typeOf除了可以判断这8种数据类型,也可以判断函数类型,虽然函数本质是一个对象,但是它具有自己特有 的属性。但是typeOf运算符也存在一定原创 2024-01-11 09:14:27 · 857 阅读 · 0 评论 -
深入理解js预编译过程
这种函数预编译我们首先要明白一个概念:函数是在被执行的时候才会有预编译过程,这里第一行只是一个函数声明,第11行才是真正的执行函数,然后我们要知道。3.寻找函数声明将函数名作为活动对象的键且值为函数本身,如果函数名和变量名重复则函数名覆盖变量名,值也会变成函数本身。4.将实参的值赋值给形参,此时AO对象中某些以形参为键的值会因实参的赋值而发生变化。这是一个经典的函数预编译过程,思考一下这段代码在控制台输出什么?2.寻找函数中的变量声明作为变量AO的键,值为undefined。1.创建全局活动对象VO。原创 2023-12-06 15:13:28 · 380 阅读 · 0 评论 -
深入理解 JavaScript 中的作用域
了解函数作用域、块级作用域、词法作用域和闭包等概念可以帮助开发人员更好地理解 JavaScript 中的作用域规则,并避免常见的作用域相关问题。在外部调用 `closure` 函数时,打印的是函数 `outer` 中定义的变量 `x` 的值。在上述代码中,函数 `foo` 在定义时就确定了变量 `x` 的作用域是全局作用域,因此在 `bar` 函数内部调用 `foo` 函数时,输出的是全局变量 `x` 的值。JavaScript 中的词法作用域是指变量在代码编写阶段就确定的作用域,它与代码的执行顺序无关。原创 2023-12-06 15:02:01 · 377 阅读 · 0 评论