一. 基本数据类型和引用数据类型的区别。
1.基本数据类型:基本数据类型就是简单的操作值。
2.引用数据类型:就是把引用的地址赋给变量。
堆内存:
就是存放代码块的,存放形式有两种
1)对象以键值对的形式存放
2)引用数据类型的赋值,是把引用的地址赋给他,在修改属性的时候,通过地址查找然后修改。
引用数据类型如何操作?
先通过引用地址去查找堆内存中的代码,然后再去修改
二. 数据储存的方式:
1.string ···· " "
2.array ···· [ ]
3.json ···· { }
三.作用域和内存空间的区别:
作用域是函数在执行的时候产生的fn()
函数在执行的时候首先会开辟一个新的内存空间叫栈内存(环境或作用域)
数据类型在赋值的时候回开辟一个新的内存空间 叫堆内存(存放代码块的)
相同点:二者都会形成一个内存地址
函数的封装:
优势可以批量生产,减少冗余代码,提高代码的重复利用率(高密度低耦合),没有继承和多态
四.例识别:
构造函数中的属性都是私有的,各个实例对象之间没有私有属性。为了实例对象拥有公共属性,所以js使用prototype(原型)这个属性,属性值是一个对象,我们可以把公共的属性放在prototype上。
原型分析:
1.每个函数数据类型(普通函数,类)都有一个prototype,并且这个属性是一个对象属性。
2.每个prototype上都有一个construction属性,并且这个属性值是当前函数或者类本身。
3.每个对象数据类型(实例,普通对象,prototype) 都天生具有一个__proto__的属性值,他的属性值是当前实例所属类的原型。
原型链:
duixiang.shuxing的时候,首先这个属性不是私有的,私有的就直接使用,如果私有的属性没有,就找共有的,共有的有就使用,没有的就按照__proto__的类上有没有,直到找到基类Object。如果Object没有就undefined,这种查找机制叫做原型链。