《javaScript归纳》
2020-04-08 本文已影响0人
Feng_Du
javascript:(unicode字符集),函数优先、分大小写、弱类型、即时编译、基于原型编程、面向对象风格。
变量提升:先使用后声明(let不会被提升)。
函数提升:只有函数声明(function...)会被提升,表达式(var baz = function...)不会。
全局变量:也就是全局对象的属性,浏览器中就是window。
数据类型:基本类型+Object+引用类型。
字面量:简单说就是=右边的值,不包含表达式。
流程控制:if、for、while、switch、等。
错误处理:throw、try...catch...finally、Error、等。
异步控制:回调、Promises...then、async...await、settimeout、等。
Promises相关:
- then返回的是Promises对象
- then是异步执行的
- async返回的是Promises对象
- async/await的目的是简化使用多个 promise 时的同步行为
- 已经变成 resolve 状态的 Promise也是异步的
settimeout
循环迭代:for do...while while labeled break continue for...in for...of。
this指向:自调用指向window、谁调用指向谁、部分函数指定(call或者apply)。
构造函数:是一种特殊的方法,与new运算符结合使用。
函数作用域:函数中的变量能访问外面不能访问里面。
函数参数:arguments得到类似数组的所有参数
递归函数:自身调用自身。
闭包函数: 定义在一个函数内部的函数。
箭头函数:自身没有this。
数组常用方法:concat()、join(deliminator = ',')、push()、pop()、shift()、unshift()、slice()、splice()、sort()。
对象的属性:一个对象的属性名可以是任何有效的 JavaScript 字符串,如果属性是非有效标识符可以用[]访问。
继承:所有的 JavaScript 对象至少继承于一个对象。被继承的对象被称作原型,并且继承的属性可通过构造函数的 prototype 对象找到。
function*: 生成器函数,通常与next()、yield组合使用。
关键字yield:迭代器生成器,关键字用来暂停和恢复一个生成器函数 [rv] = yield [expression(返回值)];
...