首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
echo的前端成长之路
EchoEcho
创建于2021-11-12
订阅专栏
记录前端的点点滴滴
等 1 人订阅
共24篇文章
创建于2021-11-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
客户端存储
cookie 在客户端存储用户信息 Web Storage 解决客户端存储不需要频繁发送cookie回服务器的问题 indexedDB 是浏览器中存储结构化数据的一个方案
向服务器发起请求(XHR/CORS、Fetch、WebSocket)
XHR 把Ajax推到历史舞台上的关键技术是XMLHttpRequest(XHR)对象。 Fetch API替代了XHR。 WebSocket是与服务器的全双工、双向通信渠道。
DOM事件
JS与HTML的交互是通过事件实现的。 可以使用仅在事件发生时执行的监听器订阅事件。在传统软件工程领域,这个模型叫“观察者模式”,其能够做到页面行为与页面展示的分离 浏览器的事件系统非常复杂。
异步处理
同步行为和异步行为的对立统一是计算机科学的一个基本概念。特别是在JS这种单线程事件循环模型中,同步操作和异步操作更是代码所要依赖的核心机制
DOM
节点类型 文档对象模型(DOM)是HTML和XML文档的编程接口,表示由多层节点构成的文档,通过它开发者可以添加、删除和修改页面的各个部分。 document节点表示每个文档的根节点。根节点的唯一子节
表单脚本--Form
表单基础 Web表单在HTML中以<form>元素表示,在JS中则以HTMLFormElement类型表示。
BOM
BOM是使用JS开发Web应用程序的核心。 Window对象 BOM的核心是window对象,表示浏览器的实例。 window对象在浏览器中有两重身份,一个是ECMAScript中的Global对象,
函数
函数实际上是对象,每个函数都是Function类型的实例 定义函数的方法有 函数表达式 函数声明 箭头函数 Function构造函数 (不推荐) 函数名 因为函数是对象,所以函数名就是指向函数对象的指
迭代器与生成器
ES6规范新增了两个高级特性:迭代器(iterator)和生成器。 使用这两个特性,能够更清晰、高效、方便地实现迭代
代理与反射
引入概念点 代理 代理是目标对象的抽象。目标对象既可以直接被操作,也可以通过代理来操作。 defineProperty 在proxy之前,使用defineProperty的set和get对数据进行拦截
代理捕获器与反射方法
有几种不同的JS操作会调用同一个捕获器处理程序。不过,对于在代理对象上执行的任何一种操作,只会有一个捕获处理程序被调用。不会存在重复捕获的情况。
集合引用类型
JS中的对象是引用值,可以通过几种内置引用类型创建特定类型的对象。 ES6新增了一批引用类型:Map、WeakMap、Set和WeakSet。这些类型为组织应用程序数据和简化内存管理提供了新能力。
Array & 定型数组
Array Array类型表示一组有序的值,并提供了操作和转换值的能力。 ECMAScript数组是动态大小的,每个元素都可以存储任意类型的数据。 创建数组 使用Array构造函数 let color
模块
理解模块 模块的由来 现代JS开发会遇到代码量大和广泛使用第三方库的问题。解决这个问题的方案通常需要把代码拆分成很多部分,然后再通过某种方式将他们连接起来 理解模块模式 将代码拆分成独立的块,然后再把
理解作用域 & 词法作用域 & 作用域链
概念点 编译 --> 词法分析 --> 词法作用域 --> 作用域链 函数作用域 --> 作用域闭包 块作用域 发生在代码执行前的事情(预编译): 明确所有词法作用域,并将其关联起来 —— 明确作用域
继承
很多面向对象语言都支持两种继承:接口继承 和 实现继承。前者只继承方法签名,后者继承实际的方法 接口继承在ECMAScript中是不可能的,因为函数没有签名 实现继承是ECMAScript唯一支持的继
类
通过上文的几种继承不难看出,各种策略都有自己的问题,也有相应的妥协。 正因为如此,实现继承的代码也显得非常冗长和混乱。 为解决这些问题,ECMAScript6新引入的class关键字具有正式定义类的能
创建复杂对象
虽然现在的开发都是直接使用ES6的class和TypeScript的 接口定义、 装饰器 等操作,但是了解ES6之前的 对象创建、继承实现 还是很有必要的(毕竟ES6的类也只是封装了构造函数+原型继承
理解原型&原型链
理解原型 constructor —— 构造函数 prototype —— 指向 原型对象 的属性 __proto__ —— 指向 实例内部[[Prototype]]特性 的属性
Javascript的变量
简单介绍变量 在js中变量是很灵活的,举个简单的例子:即便一开始赋值了number类型,后续还可以改成字符串。 引用《Javascript高级程序设计》的话是:javascript变量是松散类型的,而
下一页