首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JavaScript
鹊落前庭
创建于2023-02-03
订阅专栏
有趣的JS 王国
暂无订阅
共23篇文章
创建于2023-02-03
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
面向对象思想
发展过程 【目的】使软件的维护和重用变得更容易。 【编程核心原则】封装(encapsulation)、继承、多态、抽象。 【基本思想】重点关注各个构件,提高构件的独立性,将构件组合起来,实现系统整体的
SOLID设计原则
软件系统的价值 【行为价值】 软件的核心价值,包括需求的实现,以及可用性保障(功能性bug、性能、稳定性)。 【架构价值】 因为业务通常是不明确和快速发展的,架构价值体现在软件的灵活性: 当需求变更时
JS 编译原理
前端开发与编译 将ES6 代码编译成ES5 代码 ESLint 是一个用来检查 JavaScript 编写规范的插件,其检测流程也是需要将源码转换为 AST,然后再利用 AST 来检查代码规范化的问题
this
this 提供了一种更优雅的方式来隐式“传递”一个对象引用。1、this 并不是指向函数本身。2、this 在任何情况下都不指向函数的词法作用域。
async/await
ES2017 标准(ES8)引入了 async 函数,使得异步操作变得更加方便。 Promise 的编程模型依然充斥着大量的 then 方法,虽然解决了回调地狱的问题,但是在语义方面依然存在缺陷,代码
Promise
背景 期约(Promise)这个名字最早是由Daniel Friedman 和David Wise 在他们于1976年发表的论文“The Impact of Application Programmi
IIFE
IIFE Immediately Invoked Function Expression 类似于函数声明,但由于被包含在括号中,所以会被解释为函数表达式。 ES5 尚未支持块级作用域,使用IIFE 模
Curried Function
函数柯里化 函数柯里化又叫部分求值。 函数柯理化的表现:把一个需要传入多个变量的函数变为多个嵌套函数,并且内层函数会调用上层函数的变量。 定义:返回一个从接受多个参数,变成只接受单一参数的函数。 柯里
Tail Call
尾调用 Tail Call 指某个函数的最后一步是调用另一个函数。 尾调用优化 函数调用会在内存形成一个“调用记录”,又称“调用帧”,保存调用位置和内部变量等信息。 如果在函数A 的内部调用函数B,那
Closure
闭包 定义 Closure 这个词最早出现在1964 年的computer journal 杂志上的《The Mechanical Evaluation of Expression》论文[https:
函数
原生/内建函数 常用的原生函数: String() Number() Boolean() Array() Object() Function() RegExp() Error() Symbol() 原
Proxy
ES6 新增的代理和反射可以给目标对象定义一个关联的代理对象,而这个代理对象可以作为抽象的目标对象来使用。在对目标对象的各种操作影响目标对象之前,可以在代理对象中对这些操作加以控制。 创建空代理 代理
class
ES6 里引入Class 概念,但实际上它背后使用的仍是原型和构造函数的概念。 ES6 中类的继承,和ES5 原型链继承略有不同。 类定义 【类声明】 要声明一个类,可以使用带有class 关键字的类
创建对象
虽然使用Object 构造函数或对象字面量可以方便地创建对象,但这些方式也有明显不足:创建具有同样接口的多个对象需要重复写很多代码。 工厂模式 工厂模式的主要工作原理是用函数来封装创建对象的细节,从而
垃圾回收
必要性:由于字符串、对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储分配。JS 程序每次创建字符串、数组或对象时,解释器都必须分配内存来存储那个实体。只要像这样动态地分配了内存
作用域与作用域链
作用域 【工作模式】 作用域共有两种主要的工作模式: 词法作用域,被大多数编程语言所采用 动态作用域,Bash 脚本、Perl 中的一些模式 大部分标准语言编译器的第一个工作阶段叫做词法化(或单词化)
Expression Operation
在JavaScript 中,运算符(操作符)大多数是特殊符号,但也有少量单词。 运算符/符号 运算符含义 typeof 取变量或值的类型 void 运算表达式并忽略值,返回undefined new
Set
Set Set 本身是一个构造函数,用来生成Set 数据结构。 Set 实例的属性和方法 set 会维护值插入时的顺序,因此支持按顺序迭代。 用 Set 可以很容易地实现并集(Union)、交集(In
Map
Map ES6 提供了Map 数据结构,键的范围不限于字符串,各种类型的值(包括对象)都可以当作键。 Map 构造函数接受数组作为参数: Map 的键实际上是和内存地址绑定的,只要内存地址不一样,就视
Array
数组 https://github.com/sisterAn/JavaScript-Algorithms/issues/2 Chrome 浏览器JS 引擎V8 中,数组有两种存储模式,一种是类似C 语
下一页