摘要:前言 在 JavaScript 的学习过程中,我们可能或多或少地接触过高阶函数。那么,我们自己对此是否有一个明确的定义,或者说很熟练的掌握这些用法呢 简单来说,高阶函数是一个函数,它接收函数作为参数或将函数作为输出返回 看到这样的概念,在你的脑海中会出现哪些函数呢 其实,像我们经常会使用到的一些数组
阅读全文
摘要:01. Object构造函数模式 方式一: Object构造函数模式 * 套路: 先创建空Object对象, 再动态添加属性/方法 * 适用场景: 起始时不确定对象内部数据 * 问题: 语句太多 02. 对象字面量 方式二: 对象字面量模式 * 套路: 使用{}创建对象, 同时指定属性/方法 * 适
阅读全文
摘要:01. JavaScript的运行机制 (1)所有同步任务都在主线程上执行,形成一个执行栈。(2)主线程之外,还有一个“任务队列”,只要异步任务有了运行结果,就在“任务队列”之中放置一个事件。(3)一旦“执行栈”中的所有同步任务执行完毕了,系统就会读取“任务队列”,看看里面有哪些事件。那些对应的异步
阅读全文
摘要:01. 作用域 官方解释是:“一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。” 1. 理解 作用域是指程序源代码中定义变量的区域。 作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。 JavaScript 采用词法作用域,也就是
阅读全文
摘要:01. 变量提升与函数提升 1. 变量声明提升* 通过var定义(声明)的变量, 在定义语句之前就可以访问到* 值: undefined2. 函数声明提升* 通过function声明的函数, 在之前就可以直接调用* 值: 函数定义(对象)3. 问题: 变量提升和函数提升是如何产生的? 02. 执行上
阅读全文
摘要:01. 原型(prototype) 1. 函数的prototype属性(图) * 每个函数都有一个prototype属性, 它默认指向一个Object空对象(即称为: 原型对象) * 原型对象中有一个属性constructor, 它指向函数对象2. 给原型对象添加属性(一般都是方法) * 作用: 函
阅读全文
摘要:01. 数据类型 1. 分类(2大类) * 基本(值)类型 * Number: 任意数值 * String: 任意文本 * Boolean: true/false * undefined: undefined * null: null * 对象(引用)类型 * Object: 任意对象 * Arra
阅读全文