在ES5中,每个函数都有一个原型对象,用于存储共享的属性和方法。原型对象可以被所有通过该构造函数创建的实例共享。
为了将构造函数与原型对象关联起来,我们可以使用prototype
属性。
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayHello = function() { console.log('Hello, I am ' + this.name + '.'); }; var person1 = new Person('Tom', 20); var person2 = new Person('Jerry', 22); person1.sayHello(); // 输出: Hello, I am Tom. person2.sayHello(); // 输出: Hello, I am Jerry.
在上面的例子中,我们定义了一个Person
构造函数,并通过prototype
属性为其添加了一个sayHello
方法。通过使用new
关键字创建的Person
实例,可以共享sayHello
方法。
通过将方法添加到原型对象上,我们可以节省内存,因为所有实例共享同一个方法。此外,原型对象还允许我们在运行时动态地添加、修改或删除属性和方法。
总结:ES5中的原型和构造函数通过prototype
属性进行关联,使得通过构造函数创建的实例可以共享原型对象上的属性和方法。
希望本文对你理解ES5中的原型和构造函数的关联有所帮助。
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com