1.创建对象有几种方法
//第一种方式:字面量
var o1 = {name:'o1'};
var o2 = new Object({name:'o2'});
//第二种方式:通过构造函数
var M = function(name){this.name = name;}
var o3 = new M('o3');
//第三种方式:Object.create
var p = {name:'p"};
var o4 = Object.create(p);
结果展示:
2.原型、构造函数、实例、原型链
M.prototype.constructor===M
O3.__proto__===M.prototype
原型对象的方法是被不同的实例共有的
//第二种方式:通过构造函数
var M = function(name){this.name = name;}
var o3 = new M('o3');
//第三种方式:Object.create
var p = {name:'p"};
var o4 = Object.create(p);
M.prototype.say = function(){
console.log('say hi');
}
var o5 = new M('o5');
Object.prototype
- 只有函数才有prototype,对象是没有的;
- 只有实例才有proto
M.__proto__===function.prototype
//M的构造函数是function,M是function函数的实例