强基03-JavaScript中的构造函数、原型、原型链

构造函数、原型与原型链:JavaScript面向对象基石解析
本文详细讲解了JavaScript中构造函数的使用、原型的作用,以及如何通过原型链实现方法共享。理解这些概念有助于优化内存使用并创建高效的对象模型。

JS中的构造函数、原型、原型链

 

在典型的OOP的语言中(如Java),都存在类的概念,类就是对象的模板,对象就是类的实例,但在ES6之前,JS并没有类的概念

1,创建对象可以通过三种方式:

1,对象字面量

let obj = {}

2,new Object()

let obj = new Object()

3,自定义构造函数

function person (name, age) {
  this.name = name
  this.age = age
  this.sayName = function () {
    console.log(this.name)
  }
}
let p1 = new person('Jerry', 18)

2,构造函数

构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。

使用构造函数时注意:

1,构造函数用于创建某一类对象,其首字母大写

2,构造函数要和new一起使用

new在执行时会做以下4件事:

1,在内存中创建一个新的空对象

2,让this指向这个新的对象

3,执行构造函数里面的代码,给这个新对象添加属性和方法

4,返回这个新对象(所以构造函数里不需要return)

构造函数中可以添加一些成员,可以在构造函数本身上添加,也可以在构造函数内部的this上添加,通过两种方式添加的成员,就分别成为静态成员和实例成员

  • 静态成员:在构造函数本身上添加的成员,只能由构造函数本身来访问

  • 实例成员:在构造函数内部创建的对象成员,只能由实例化的对象来访问

function Person(name, age) {
  this.name = name
  this.age = age
  this.sayName = function () {
    console.log(this.name)
  }
}
// 实例成员就是构造函数内部通过this添加的成员:name、age、sayName就是实例成员,实例成员只能通过实例化的对象来访问
let p1 = new Person('Jerry', 18)
Person.gender = 'male' // 静态成员,在否早函数本身上添加的成员gender就是静态成员
console.log(Person.gender)  /
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值