开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第31天,点击查看活动详情
目录
构造函数
- new关键字原理
分为四个流程
- 创建一个空对象
2.this指向这个对象
3.对象赋值
4.返回这个函数
构造函数内部方法的缺点 :浪费内存
原型对象
- 概念
每一个函数在创建的时候,系统会自动创建一个对应的对象 , 称之为原型 (原型是构造出来的函数,并不是全局函数)
构造函数 , 原型对象 , 实例对象 三者间的关系
/* 先构造函数 然后系统给原型对象 后面实例对象调用原型对象*/
prototype : 属于构造函数 ,指向原型对象
proto : 属于实例对象 ,指向原型对象
constructor : 属于原型对象 ,指向构造函数
原型链
- 原型链的作用 : 继承
- js如何实现面向对象的继承 : 原型链
instanceof 原理
检测右边构造函数原型prototype 在不在 左边实例对象的原型链中
arr.push() Math.max() 这些方法参数不限数量的,他们的底层就会用 arguments 接收实参
for -in 与 for- of 区别
- 功能不同
for - in 遍历数组的下标 + 元素
for - of 遍历数组的元素
2. 原型的属性不同
****for - in 可以遍历原型中的属性
for - of 不会遍历原型的属性
****3. 数据类型不同
for -in 可以遍历Object 类型 + 数组
for - of 只能遍历数组
总结 :
如果想要下标和元素就用 for - in , 只想要元素就用 for - of
undefined == null 值为true
undefined === null 值为false
1 + undefined // NAN
1 + null // 1