JS高级---构造函数通过原型添加方法,原型的作用: 共享数据, 节省内存空间

时间:2023-03-09 06:17:28
JS高级---构造函数通过原型添加方法,原型的作用: 共享数据, 节省内存空间

JS高级---构造函数,通过原型添加方法,原型的作用: 共享数据, 节省内存空间

构造函数

    //构造函数
function Person(sex, age) {
this.sex = sex;
this.age = age;
}
通过原型添加方法
    //通过原型添加方法
Person.prototype.sayHi = function () {
console.log("打招呼,您好");
};

通过console.dir来观察和对比per和Person,可以看出:

JS高级---构造函数通过原型添加方法,原型的作用: 共享数据, 节省内存空间

实例对象中有个属性,__proto__,也是对象, 叫原型, 不是标准的属性, 浏览器使用的

console.dir(per);//实例对象 Person

JS高级---构造函数通过原型添加方法,原型的作用: 共享数据, 节省内存空间

构造函数中有一个属性, prototype, 也是对象, 叫原型, 是标准属性, 程序员使用
 console.dir(Person);//构造函数的名字 f Person(sex, age)

JS高级---构造函数通过原型添加方法,原型的作用: 共享数据, 节省内存空间

因此:

原型---->__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