1、所有的引用类型(对象、数组、函数),都具有对象特性,既可以自由扩展属性(除了 null 以外)
var obj = {};
obj.a = 100;
var arr = [];
arr.a = 100;
function fn(){}
fn.a = 100;
2、所有的引用类型(对象、数组、函数),都有一个__proto__属性,属性值是一个普通对象。(__proto__称为 隐式原型)(除了 null 以外)
console.log(obj.__proto__);
console.log(arr.__proto__);
console.log(fn.__proto__);
3、所有的函数,都有一个prototype属性,属性值也是一个普通对象。(prototype 称为 显示原型)
console.log(fn.prototype);