
前端
文章平均质量分 74
moyu916
这个作者很懒,什么都没留下…
展开
-
js中的 == 相等比较
假值 undefined null false +0、-0、NaN “” 空数组、空对象、空函数、包装了假值的对象,都是真值 1.字符串和数字之间的相等比较 字符串转为数字,再比较 2.其他类型和布尔类型之间的相等比较 布尔类型转成0或1,再比较 var x = true; var y = "42"; x == y; // false Type(x) 是布尔值,所以 ToNumber(x) 将 true 强制类型转换为 1,变成 1 == "42",二者的 类型仍然不同,"42" 根据规则被强制类型转换原创 2021-04-06 10:06:57 · 629 阅读 · 0 评论 -
JavaScript中的this全面解析
文章目录this全面解析调用位置绑定规则1. 默认绑定2. 隐式绑定隐式丢失3. 显式绑定硬绑定new绑定优先级ES6 箭头函数小结参考文献 this全面解析 每个函数的 this 是在调用时被绑定的,完全取决于函数的调用位置(也就是函数的调用方法) 调用位置 调用位置就是函数在代码中被调用的位置(而不是声明的位置)。 最重要的是要分析调用栈(就是为了到达当前执行位置所调用的所有函数)。调用位置就在当前正在执行的函数的前一个调用中,调用位置决定了this的绑定。 function baz() {原创 2021-01-14 20:21:27 · 205 阅读 · 0 评论 -
JavaScript闭包详解
JS闭包作用域区分函数声明与函数表达式提升——函数优先闭包基本概念闭包的形式闭包举例1——return 一个函数分析闭包举例2——异步回调闭包举例3——循环和闭包闭包应用——模块参考文献 作用域 词法作用域就是定义在词法阶段的作用域, 换句话说词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的, 因此当词法分析器处理代码时会保持作用域不变 //1 function foo(a){原创 2021-01-12 10:12:33 · 259 阅读 · 0 评论