JavaScript面向对象_javascript编程思想

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

JavaScript面向对象_javascript编程思想-第1张图片-佛山资讯网

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编程

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~