JS创建对象的四种方式

目录
  • 1.通过字面量的方式去创建对象
  • 2.使用new字符创建对象
  • 3.自定构造函数创建对象
  • 4.工厂模式创建对象

创建对象的4种方式:

  • 1.字面量的方式去创建对象
  • 2.使用new字符创建对象
  • 3.自定义构造函数
  • 4.工厂模式创建对象

对象是指:具有属性和方法

1.通过字面量的方式去创建对象

var person1={

    name:'柯南',

    age:12,

    sex:'男',

    eat:function(){

        console.log("我饿了,想吃饭")

    },

    say:function(){

        console.log("我叫柯南")

    }

}

console.log("person.eat输出函数",person.eat)

person.eat(); //直接输出 我饿了,想吃饭

我们需要注意的是:person.eat和person.eat()的区别

  • person.eat是输出函数
  • person.eat()是调用函数

2.使用new字符创建对象

var person2=new Object();

person2.name='柯南'

person2.age='21'

person2.sex='男'

person2.eat=function(){

    console.log("我饿了,想吃饭")

}

person2.say=function(){

    console.log("我叫柯南")

}

console.log( '性别',person2.sex ) //输出男

上面这两种方式去创建对象的缺点:

虽然上面这两种都可以去创建对象

但是我们创建出来的对象压根就不知道是什么类型?

当然我们知道他们是OBject类型

这个时候我们就需要使用自定义构造函数去创建对象了

3.自定构造函数创建对象

function Person(name,age,sex,like){

    console.log('没有给like形参传递值就是undeined',like)

    // 这里的this指向的是Person这个对象

    console.log('this',this)

    this.name=name;

    this.age=age;

    this.sex=sex;

    this.say=function(){

        console.log("我叫",name)

    }

}

//这一行代码表示的是创建一个对象

//同时实例化一个对象

//并且给这个对象的属性进行初始化

//所以这一行代码并不简单

let per1=new Person('柯南',19,'男');

per1.say();

console.log(per1 instanceof Person);//true

现在我们知道了per1是属于Person类型的,这就是自定构造函数创建对象的优势,我们知道它创建的对象是哪个类型的

ps:构造函数通常首字母大写

当我们new一个对象的时候做了四件事情:

通过创建自定义对象我们明白了当我们new一个对象的时候做了四件事情

  • 1.开辟空间存储当前对象
  • 2.把this设置为当前对象
  • 3.设置属性和方法
  • 4.把this对象返回

4.工厂模式创建对象

function createObj(name,age) {

    let obj=new Object();

    obj.name=name;

    obj.age=age;

    obj.sayHi=function(){

        console.log(obj.name)

    }

    return obj;

}

let per=createObj('司藤',200)

console.log(per.age); //200

per.sayHi(); //司藤

到此这篇关于 JS创建对象的四种方式的文章就介绍到这了,更多相关 JS创建对象的四种方式内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JavaScript创建对象的七种方式(推荐)

    JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以创建单个对象,显然这两种方式会产生大量的重复代码,并不适合量产.接下来介绍七种非常经典的创建对象的方式,他们也各有优缺点. 工厂模式 function createPerson(name, job) { var o = new Object() o.name = name o.job = job o.sayName = function() { console.log(this.name) } return

  • JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】

    本文实例总结了JavaScript创建对象方式.分享给大家供大家参考,具体如下: 这里主要是对<JavaScript高级程序设计>第六章(面向对象的程序设计)的总结,书上的这章至少看了4遍是有的.该章主要讲对象的创建与继承.其中创建对象和继承方式至少6种,再加上一些方法属性,很容易搞得晕头转向的.因此有必要对本章的内容理一理,以后忘了也好过来看一看. 由于文章长度的限制,本文主要讲创建对象. 1 创建对象 1.1 一般方法 使用Object或者采用对象字面量的方法. var o = {a: 1

  • JavaScript创建对象的常用方式总结

    本文实例讲述了JavaScript创建对象的常用方式.分享给大家供大家参考,具体如下: JS中没有类的概念,那么怎么创建对象呢?下面一一来细说! 传统的创建对象的方式: 1.创建Object的实例 var person = new Object(); person.name = "Alice"; person.age = 12; person.showName = function() { alert(this.name); }; 2.对象字面量形式创建单个对象 var person

  • 详解js创建对象的几种方式和对象方法

    这篇文章是看js红宝书第8章,记的关于对象的笔记(第二篇). 创建对象的几种模式: 工厂模式: 工厂是函数的意思.工厂模式核心是定义一个返回全新对象的函数. function getObj(name, age) { let obj = {} obj.name = name obj.age = age return obj } let person1 = getObj("cc", 31) 缺点:不知道新创建的对象是什么类型 构造函数模式: 通过一个构造函数,得到一个对象实例. 构造函数和

  • JavaScript创建对象的七种方式全面总结

    JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以创建单个对象,显然这两种方式会产生大量的重复代码,并不适合量产.接下来介绍七种非常经典的创建对象的方式,他们也各有优缺点 工厂模式 function createPerson(name, job) { var o = new Object() o.name = name o.job = job o.sayName = function() { console.log(this.name) } return

  • js 创建对象的多种方式与优缺点小结

    目录 早期创建方式 工厂模式 构造函数模式 构造函数模式优化 原型模式 构造函数和原型模式组合 动态原型模式 寄生构造函数模式 稳妥构造函数模式 早期创建方式 var obj = new Object() obj.name ='xxx' obj.age = 18 或使用对象字面量 var o1 = { name: 'xxx', say: () => {} } var o2 = { name: 'xxx', say: () => {} } 缺点:使用同一个接口创建很多对象,会产生大量重复代码 工

  • JavaScript实现创建自定义对象的常用方式总结

    本文实例讲述了JavaScript实现创建自定义对象的常用方式.分享给大家供大家参考,具体如下: 1. 对象字面量方式 对象字面量方式是创建自定义对象的首选模式,简单方便. var per = { name:'zhangsan', age:25, job:'html', sayName:function(){ alert(this.name); } } 缺点:使用同一个接口创建很多对象,会产生大量的重复代码.比如我想再创建一个per1对象,我就得把上面的代码再重新写一遍,改变不同的属性值. 2.

  • JS中的函数与对象的创建方式

    创建函数的三种方式 1.函数声明 function calSum1(num1, num2) { return num1 + num2; } console.log(calSum1(10, 10)); 2.函数表达式 var calSum2 = function (num1, num2) { return num1 + num2; } console.log(calSum2(10, 20)); 3.函数对象方式 var calSum3 = new Function('num1', 'num2',

  • 基于JS对象创建常用方式及原理分析

    前言 俗话说"在js语言中,一切都对象",而且创建对象的方式也有很多种,所以今天我们做一下梳理 最简单的方式 JavaScript创建对象最简单的方式是:对象字面量形式或使用Object构造函数 对象字面量形式 var person = new Object(); person.name = "jack"; person.sayName = function () { alert(this.name) } 使用Object构造函数 var person = { na

  • javascript面向对象创建对象的方式小结

    本文实例讲述了javascript面向对象创建对象的方式.分享给大家供大家参考,具体如下: 方式一:通过内置Object对象的方式创建 然后通过点语法,动态给对象创建属性,方法 var o1 = new Object(); o1.name = 'Tom'; o1.sing = function() { console.log('I am singing'); } 方式二:通过字面量json形式创建对象 var o2 = { "name":"jackson", &qu

随机推荐