0
点赞
收藏
分享

微信扫一扫

Javascript创建对象的四种方式

爱奔跑的读书者 2022-04-13 阅读 68
java

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)

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

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

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

举报

相关推荐

0 条评论