JavaScript
2021-11-25 11:28:48 26 举报
登录查看完整内容
JavaScript是一种高级的、解释型的编程语言,主要用于网页和网络应用程序的开发。它是Web的三大核心技术之一,与HTML和CSS共同构建了互联网的基础。JavaScript具有动态类型、弱类型、基于原型的特性,以及支持面向对象、命令式和声明式(如函数式编程)风格编程的能力。它最初由Netscape公司的Brendan Eich在1995年开发,后被Mozilla基金会接管并开源,成为世界上最流行的编程语言之一。JavaScript可以运行在几乎所有的主要平台和浏览器上,包括Windows、macOS、Linux、Android和iOS等。
作者其他创作
大纲/内容
全局上下文
直接调用函数(默认绑定)
对象.方法的形式调用(隐式绑定)
使用call,apply,bind绑定this(显示绑定)
DOM事件绑定
new+构造函数(new绑定)
箭头函数
优先级
this指向
闭包是什么
为什么js会有闭包
闭包的怎么形成的(形成机制)
闭包与内存管理
闭包的三个特性
闭包的表现形式及应用
闭包的优缺点
在循环中创建闭包
JS闭包到底是什么
理解原型,构造函数,实例之间的关系
原型链
原型和原型链
工厂模式
构造函数模式
原型模式
组合使用构造函数模式和原型模式
动态原型模式
寄生构造函数模式
稳妥构造函数模式
创建对象的方式
借用构造函数
组合继承
原型试继承
寄生试继承
寄生组合式继承
实现继承的方式
Babel 如何编译 ES6 Class 的
继承存在的问题
如何解决继承的问题
从设计思想上谈谈继承
JS面向对象
什么是模块化
模块化有什么好处
传统的模块化开发方式
模块化的发展历程
模块化要解决什么问题以及怎么实现模块化
NodeJS
CommonJS
RequireJS in AMD
SeaJS in CMD
Module Loader
ES6 Module in Browser
ES6 Module in Node.js
Dynamic import
Es6 Module
Browserify
Webpack
Module Bundler
加载方式
同步/异步
输出值的方式
循环加载的处理方式
ES6 Module 与 CommmonJS 的区别
模块化之间的差异
模块化的现状
JS模块化规范
使用单线程处理安排好的任务
在线程运行过程中处理新任务
处理其他线程发送过来的任务
处理其他进程发送过来的任务
消息队列和事件循环-浏览器页面主线程是如何运作的
消息队列中的任务类型
如何安全退出
宏任务和微任务:如何处理高优先级的任务。
异步:如何解决单个任务执行时长过久的问题。
页面使用单线程的缺点
EventLoop
宏任务
异步回调
微任务是什么
微任务产生时机
微任务执行时机
微任务
轮询检测
Mutation Event
MutationObserver
监听DOM变化方法演变
再谈EventLoop
宏任务和微任务
什么是异步
js为什么会有异步
异步的实现原理
常用的异步操作
异步的解决方案有哪些
异步要解决什么问题以及异步的解决方案
异步编程的问题:代码逻辑不连续
封装异步代码,让处理流程变得线性
嵌套调用
任务的不确定性 成功和失败两种结果
新的问题:回调地狱
回调函数
回调函数的延时绑定
回调函数返回值穿透
错误“冒泡”技术
Promise怎么解决回调地狱
Promise为什么引入微任务
Promise 如何实现链式调用
实现Promise的resolve、reject,Promise.prototype.finally
实现Promise的all和race
Promise
什么是生成器
生成器的执行流程
什么是协程
协程的执行流程
生成器的实现机制-协程
thunk函数
Generator+Thunk版异步
Generator+Promise版异步
co库
Generator的异步应用
Generator
async
Await
问题
问题原因
解决方案
解决原理-Iterator
重新认识生成器
forEach 中用 await 会产生什么问题?怎么解决这个问题?
async+await
JS异步解决方案
手写Promise
call
apply
bind
this绑定
寄生组合继承
如何模拟实现new的效果
instanceof
函数的arguments为什么不是数组?如何转化成数组?
数组扁平化
数组去重
数组排序
数组
浅拷贝的实现方式
深拷贝的实现方式
对象拷贝
加强版防抖
防抖
节流
事件防抖节流
ajax
柯里化
promise并行限制
分片思想解决大数据量渲染问题
列表转树状结构
树状结构装列表
手写系列
js是什么类型的语言
js有哪些数据类型
基本包装类型
浮点数
js数据类型\t
typeof
constructor
Object.prototype.toString.call()
js数据类型的检测
转换为字符串
转换为数字
隐试强制类型转布尔值
转换为布尔值
宽松相等和严格相等
||和&&
js数据类型的转换
执行上下文包含内容
执行上下文的类型
执行上下文栈
执行上下文周期
JS执行上下文
变量对象
作用域
作用域类型
作用域规则
词法作用域
作用域链本质
作用域链的用途
标识符解析
作用域链
JavaScript
0 条评论
回复 删除
下一页