11.1 js中级,数据类型、数据储存方式、作用域内存空间的区别以及例识别。

一. 基本数据类型引用数据类型的区别。

    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,这种查找机制叫做原型链。

 

猜你喜欢

转载自www.cnblogs.com/lishaoxiong/p/9892051.html
今日推荐