摘要:是否使用,取决于要调试什么样的bug。如果是一眼可以看出问题,或者console.log调试能解决的,就不用。如果想看到代码的完整执行流程,并且想知道变量是如何变化的,就需要断点调试。 按钮从左到右的介绍。 1、第一个,恢复、继续执行:(1)恢复当前断点,重新跑,有断点时,代码会在断点处停止,希望恢
阅读全文
摘要:为什么需要this? this指向什么呢? this到底指向什么呢? 规则一:默认绑定 规则二:隐式绑定 规则三:显示绑定 call、apply、bind 内置函数的绑定思考 new绑定 规则优先级 this规则之外 – 忽略显示绑定 this规则之外 - 间接函数引用 箭头函数 arrow fun
阅读全文
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="wi
阅读全文
摘要:函数的防抖和节流 防抖:在用户频繁触发的时候,只识别一次(识别第一次/识别最后一次) 节流: 目的是频繁触发中缩减频率。假设我们频率设置为500ms,我们频繁触发了10000ms,对于防抖,则只触发一次;对于节流,则触发20次 // 第一次点击,没有立即执行,等待500MS,看看这个时间内有没有触发
阅读全文
摘要:DOM0级、DOM2级事件及其原理 事件是元素(或者浏览器)天生自带的行为,只要行为触发,则会触发相关的事件行为; 事件绑定:基于xxx.onxxx = function(),属于给某个事件行为绑定方法,再行为触发的时候可以通知方法执行 * 事件绑定 * 1.DOM0级事件绑定 * xxx.onxx
阅读全文
摘要:// example:要检测的实例 // classFunc:要检测的类 function instance_of(example, classFunc) { // TZH: 判断是否是基本类型要反向判断,即判断是否object(null特殊处理)和function。 // 因为纵观es发展历史,基
阅读全文
摘要:4种检测数据类型的方法 * 1. typeof xxx * ⇒ typeof null ⇒ "object" * ⇒ typeof 数组、正则、日期、对象 ⇒ "object" * * 2. xxx instanceof xxx * 检测当前实例是否属于这个类(也可以用来检测数据类型:对typeof
阅读全文
摘要:数组浅拷贝练习题 let utils = (function () { /* * toArray:转换为数组的方法 * @params * 不固定数量,不固定类型 * @return * [Array] 返回的处理后的新数组 * by haha on 2020 */ // 方法1 function
阅读全文
摘要:面向对象 JS本身就是一门基于面向对象编程的语言 对象:泛指,一切我们需要研究的东西都是对象 类:把这么多东西按照特点进行分组分类(大类和小类) 实例:某一个类别中具体的某个事物 反推:通过对某一个实例的研究,我们会发现一些实例私有的特征,以及当前类下每一个实例都具备的公共特征 /* * arr1、
阅读全文
摘要:柯理化函数 柯理化函数编程思想:利用闭包的保存机制,事先把一些信息存储起来(存储到不释放的上下文中),这样可以供下级上下文中调用,我们把这种预先存储的思想叫做柯理化函数编程思想 function add1(x, y, z) { return x + y + z } function add2(x,
阅读全文
摘要:练习题1 // 作用域链 var a = 10 var b = 11 var c = 12 function test(a) { /* * EC(TEST) * 作用域链:<EC(TEST),EC(G)> * 初始THIS:window * 形参赋值:a=10 [私有变量] * 变量提升:var b
阅读全文
摘要:let、const、var及其区别,变量提升 代码获取到后: 词法解析(AST):把代码拆成对应的字符,并且识别成浏览器可以解析的对象。 上下文 --> 【初始化】作用域链、【初始化】this、形参赋值......【最后】变量提升 --> 代码执行 /* JS中声明变量或者函数的方式 【传统】 va
阅读全文
摘要:闭包: 函数执行过程中,会形成一个全新的私有上下文,此时会产生两个机制: (1)保护:保护自己的私有变量不受外界干扰(操作自己的私有变量和外界没有关系); (2)保存:如果当前上下文不被释放【只要上下文中的某个东西被外部占用即可】,则存储的这些私有变量也不会被释放,可以供其下级上下文中调取使用,相当
阅读全文
摘要:3.1 名词、概念简述,案例 数据类型之间的区别 堆(Heap) 内存 栈(Stack) 内存 ECStack(Execution [ˌeksɪˈkjuːʃn] Context Stack)和 EC(Execution Context ) GO(Global Object)【全局对象】 VO(Var
阅读全文
摘要:4.1 转换为Number类型 把其他数据类型转换为Number类型 * 1.特定需要转换为Number的 * + Number([val]) * + parseInt、parseFloat([val]) * * 2.隐式转换(浏览器内部默认要先转换为Number在进行计算的) * 【基本上都是基于
阅读全文
摘要:Promise ES6 语法规范中新增加的内置类,用来处理 JS 中异步编程的,而我们所谓的 promise 设计模式,就是基于 promise 对异步操作进行管理。 对Ajax中的串行、并行导致的回调地狱、其他乱七八糟的事,进行管控。 我的理解:执行Promise的执行器函数executor过程中
阅读全文