Javascript创建对象的四种方式

本文详细介绍了JavaScript中四种常见的对象创建方式:直接创建、工厂模式、构造函数和原型创建。每种方式都有其优缺点,如直接创建简单但无法量产,工厂模式节省代码但类型不明确,构造函数能明确类型但可能导致内存浪费,而原型创建则实现了方法共享但可能影响对象属性的独立性。理解这些模式对于优化JavaScript代码和提高效率至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、直接创建

创建一个学生对象:名称,年龄 方法:吃饭

 var student={
            name:'王一',
            age:21,
            eat:function(){
                console.log(this.name+"正在吃")
            }
        }

优点:方法简单

缺点:无法量产,如果量产则需要大量代码,降低编辑效率

2、工厂模式创建

通过函数来创建对象,可以把创建对象的过程封装在函数中,

调用函数来进行创建对象

function student(name,age)//括号里面进行传参{

var s=new object()

s.name=name

s.age=age

s.eat=function(){

console.log(this.name+'正在吃')

}

return s

}
var  s1=student('王一',21)  //object

优点:可以量产对象,节省代码量

缺点:但是无法明确对象类型,无法细分,统一是object类型

3.构造函数

想要创建函数,创建一个类   

类是指一类事物的统称  包含属性和方法

构造函数的方法来模拟类  利用js this指向性可以改变的问题  

this指向对象  window 固定对象   事件源   this也指向运行环境

function student(name,age){

        this.name=name 

        this.age=age

        this.eat=function(){

                console.log(this.name+'正在吃')

        }

}

var s1=new  student(“王一”,21)

构造函数通过new来创建对象,new都起到了什么作用

首先  new 创建了一个空对象{  }

        在执行函数的过程中,函数内部的this指向创建出来的空对象

        讲创建出来的对象 返回出来  然后赋值给到前方变量

优点:可以明确对象的类型 

缺点:如果不同对象有相同的方法,没办法公用,

          每个都需要独立存储,造成不必要的内存损耗

4.原型创建

prototype属性—原型对象

将不同对象相同的方法或者属性 放到原型中

童工用一个构造函数创建出来的对象原型是相等的

获取对象原型    _prototype_

创建一个学生构造函数  name   age    eat 公有方法

构造函数原型==实例化对象原型

将公有的方法放在构造函数原型中

function student (name,age){

        this.name=name

        this.age=age

}

student.prototype.eat=function(){

        console.log(this.name+'正在吃')

}

var s1=new student("王一",21)  

var s2=new student("王二",23)

优点:方法可以公用,不需要一直创建赋值

缺点:对象的属性以后原型里依然保存,更改一个对象原型里的属性,

所有原型对象属性都会发生改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值