JS高级---构造函数,通过原型添加方法,原型的作用: 共享数据, 节省内存空间
构造函数
//构造函数 function Person(sex, age) { this.sex = sex; this.age = age; }
通过原型添加方法
//通过原型添加方法 Person.prototype.sayHi = function () { console.log("打招呼,您好"); };
通过console.dir来观察和对比per和Person,可以看出:
实例对象中有个属性,__proto__,也是对象, 叫原型, 不是标准的属性, 浏览器使用的
console.dir(per);//实例对象 Person
构造函数中有一个属性, prototype, 也是对象, 叫原型, 是标准属性, 程序员使用
console.dir(Person);//构造函数的名字 f Person(sex, age)
因此:
原型---->__proto__或者是prototype, 都是原型对象原型的作用: 共享数据, 节省内存空间
var per = new Person("男", 20); console.dir(per);//实例对象 Person console.dir(Person);//构造函数的名字 f Person(sex, age) var per2 = new Person("女", 30); console.log(per.sayHi == per2.sayHi); //true