JavaScript通过原型机制实现面向对象编程,核心是构造函数、原型链与实例的关系;使用构造函数创建对象实例,并将共享方法挂载到prototype上以节省内存;继承通过原型链实现,子类可借用父类构造并链接原型,ES6的class仅为语法糖,底层仍基于原型。

JavaScript 虽然不是传统意义上的类式面向对象语言,但它通过原型(prototype)机制实现了强大的面向对象编程能力。理解 JavaScript 的面向对象特性,关键在于掌握其基于原型的继承模型和函数作为“构造器”的使用方式。
构造函数与实例化
在 JavaScript 中,我们通常用函数来模拟“类”。通过 new 操作符调用函数时,该函数就成为构造函数,用于创建对象实例。
例如:
function Person(name, age) {<br>
this.name = name;<br>
this.age = age;<br>
}<br><br>
const alice = new Person('Alice', 25);<br>
console.log(alice.name); // 'Alice'
登录后复制
此时 this 指向新创建的对象,属性被挂载到实例上。每个通过 new 创建的实例都拥有自己的一套属性。
原型与共享方法
如果把方法定义在构造函数内部,每次创建实例都会重新生成函数,造成内存浪费。解决办法是将共用方法挂载在构造函数的 prototype 上。
立即学习“Java免费学习笔记(深入)”;
比如添加一个 sayHello 方法:
Person.prototype.sayHello = function() {<br>
console.log(`Hello, I'm ${this.name}`);<br>
};登录后复制
所有 Person 实例都能访问 sayHello,且只存在一份函数定义。这是 JavaScript 实现方法共享的核心机制。
原型链与继承
JavaScript 的继承依赖原型链。当访问一个对象的属性或方法时,引擎会先在实例自身查找,若不存在,则沿着 __proto__ 向上追溯其构造函数的 prototype,直到 Object.prototype 或 null。
标签: javascript es6 java js 面向对象编程 javascript编程
还木有评论哦,快来抢沙发吧~