js创建对象

简介: js创建对象


1. 对象字面量

var obj={
    name:'syl',
    height:'175',
    say:function(){
        console.log('hello');
    }
}

缺点:只能创建一次对象,复用性较差,如果要创建多个对象,代码冗余度太高

2. 内置构造函数

2.1 直接使用Object();

var obj=new Object({
    name:'syl',
    height:'175',
    say:function(){
        console.log('hello');
    }
});

缺点:只能创建一次对象,复用性较差,如果要创建多个对象,代码冗余度太高

2.2 封装Object()—工厂模式

function createObj(name,height){
  var obj=new Object({
      name:'syl',
      height:'175',
      say:function(){
          console.log(this.name);
      }
  });
  return obj;
}

缺点:对象无法识别,因为所有的实例都指向一个原型。

3. Object.create()

 var p = {
    name:'syl',
    height:'175',
    say:function(){
        console.log(this.name);
    }
};
var obj = Object.create(p);

4 构造函数

function P(name,height){
  this.name=name;
  this.height=height;
  this.say=function(){
    console.log(this.name);
  };
}
var obj=new P('syl','175'); 
obj.sayHeight()=function(){
  console.log(this.height);
}

缺点:构造函数中定义函数,那么每次创建对象,都会重新创建该函数,这样会导致全局变量增多。

原型

function P(name,height){
  this.name=name;
  this.height=height;
}
P.prototype.say=function(){
  cosole.log(this,name);
}
var obj=new P('syl','175'); 
p.say();

将函数放到原型中,解决了构造函数方法的缺点。


相关文章
|
4月前
|
JavaScript 前端开发
js创建对象| 25
js创建对象| 25
|
4月前
|
JavaScript 前端开发
JavaScript基础知识-使用工厂方法创建对象
本文介绍了JavaScript中使用工厂方法来创建对象的基础知识。
33 0
JavaScript基础知识-使用工厂方法创建对象
|
8月前
|
JavaScript
js中如何使用工厂方式和构造函数创建对象,web开发项目实例
js中如何使用工厂方式和构造函数创建对象,web开发项目实例
|
8月前
|
设计模式 JavaScript 前端开发
JavaScript工厂模式:创建对象的简便方式!
JavaScript工厂模式:创建对象的简便方式!
|
7月前
|
JavaScript 前端开发
深入解析JavaScript中的面向对象编程,包括对象的基本概念、创建对象的方法、继承机制以及面向对象编程的优势
【6月更文挑战第12天】本文探讨JavaScript中的面向对象编程,解释了对象的基本概念,如属性和方法,以及基于原型的结构。介绍了创建对象的四种方法:字面量、构造函数、Object.create()和ES6的class关键字。还阐述了继承机制,包括原型链和ES6的class继承,并强调了面向对象编程的代码复用和模块化优势。
63 0
|
JavaScript 安全 前端开发
js创建对象的七种方式
js创建对象的七种方式
|
8月前
|
JavaScript 前端开发
JavaScript构造函数模式:创建对象的另一种方式!
JavaScript构造函数模式:创建对象的另一种方式!
|
JavaScript 前端开发
JavaScript 使用对象字面量创建对象、使用new Object创建对象
JavaScript 使用对象字面量创建对象、使用new Object创建对象
151 0
|
JavaScript 前端开发 Java
JavaScript创建对象和封装
JavaScript创建对象和封装
72 0
|
前端开发
前端学习笔记202306学习笔记第三十五天-js-创建对象的两种方式1
前端学习笔记202306学习笔记第三十五天-js-创建对象的两种方式1
50 0