Js变量类型

值类型和引用类型

值类型(基本类型):5种,Number String Boolean null undefined

var a=10;
var b=a;
a=2;
console.log(b);//10

       a和b有各自的存储空间。

引用类型 (对象,数组,函数)

var a={grade:10}
var b=a;
b.grade=12;
console.log(a.grade);//12

       相当于a和b都是指针,指向同一个位置,位置中储存一个对象,则b.grade变了,a.grade也变了。(共用内存空间)

所有的引用类型

         都具有对象的特性,即可自由扩展属性,(null除外);

         都有一个_proto_(隐式原型)属性,属性值是一个普通的对象;

        _proto_(隐式原型)属性值指向他的构造函数的prototype(显式原型)属性值;(===)

所有的函数

       都有一个prototype(显式原型)属性,属性值是一个普通的对象;

当试图得到一个对象的某个属性时,如果这个对象本身没有这个属性,那么会去他的  _proto_(即他的构造函数的prototype)中查找;

原文地址:https://www.cnblogs.com/sunmarvell/p/8622750.html