*知识点
- 基本概念
内存、变量、数据类型、对象- 控制语句
if…else…
for…- 对象
原型、原型链
对象分类
new一个新对象
构造函数
this的隐式传递和显式传递- 核心三公式
对象.__ proto __===其构造函数.prototype
Object.prototype是所有对象的(直接或间接)原型
所有函数都是由Function构造出来的
一、JS世界
console
document
对象
数组
函数
- JS引擎
1.编译
2.优化
3.执行
4.垃圾回收:把JS用完的内存回收,方便再使用内存:一切都运行在内存中
线程与进程:如果进程是车间,那么线程就是流水线
Stack:每个数据顺序存放,非对象数据类型存储到这里
Heap:每个数据随机存放,对象数据类型存储到这里
二、JS三座大山
- 原型
每个函数都有一个prototype,每个对象都有一个__ proto __
prototype存储了对象的共有属性
- this
1.不给任何条件,默认指向window
2.JS会尽量把你传的值变成对象
3.this是隐藏参数,argument是普通参数
4.主动调用:person.sayHi.call(this, 1, 2, 3)手动输入this参数,可以填任何形式的参数包括(null,undefined)
5.隐式调用:person.sayHi(this) 这里的this作为 person js默认帮你填充
6. .bind绑定this
- AJAX
三、七种数据类型和五种falsy值
- 四基二空一对象
四基
(1)string
(2)number
(3)bool
(4)symbol
二空
(1)undefined
(2)null
一对象
(1)Object
- 五种falsy值
false
null
0
NaN
’ ’
四、JS函数,四种定义和九要素
- 所有函数都是Function构造出来的
构造函数
具名函数
匿名函数
箭头函数
- 每个函数都有这些东西
1.调用时机
2.作用域
3.闭包
4.形式参数
5.返回值
6.调用栈
7.函数提升
8.argumengts
9.this