值类型和引用类型
值类型(基本类型):5种,Number String Boolean null undefined
var a=10;
var b=a;
a=2;
console.log(b);//
a和b有各自的存储空间。
引用类型 (对象,数组,函数)
var a={grade:10}
var b=a;
b.grade=12;
console.log(a.grade);//
相当于a和b都是指针,指向同一个位置,位置中储存一个对象,则b.grade变了,a.grade也变了。(共用内存空间)
所有的引用类型
都具有对象的特性,即可自由扩展属性,(null除外);
都有一个_proto_(隐式原型)属性,属性值是一个普通的对象;
_proto_(隐式原型)属性值指向他的构造函数的prototype(显式原型)属性值;(===)
所有的函数
都有一个prototype(显式原型)属性,属性值是一个普通的对象;
当试图得到一个对象的某个属性时,如果这个对象本身没有这个属性,那么会去他的 _proto_(即他的构造函数的prototype)中查找;