在 JavaScript 中我们知道无法通过类来创建对象,那么如何创建对象呢?

(1)通过“字面量”方式创建对象

将你的信息写到{ }中,并赋值给一个变量,此时这个变量就是一个对象,例:

var game = {
first : "吃鸡",
two : "英雄联盟",
}
console.log(game.first) // 输出"吃鸡"
//对象的添加
obj.three = "王者荣耀"
console.log(game) //会输出以上三个信息
//对象的删除
delete game.two
console.log(game.two) //输出undefined

注意:编写信息时一定要是(属性:属性值,)

当{ }为空时,将创建一个空的对象

var game = {}    //创建空对象  

(2)通过“构造函数”方式创建对象

var game = new 函数名(); 

通过该方法创建对象时,会自动执行该函数

function Game = {
this.first = "吃鸡";
this.two = "英雄联盟";
this.three = "王者荣耀";
}
//用new关键字调用
var game = new Game()
console.log(game.first) //输出"吃鸡"

使用new关键字实例化的时候发生了什么?

以上文中的Game()函数举个例子:

  1. 第一步,创建一个空对象。 var game={}
  2. 第二步,将构造函数Game()中的this指向新创建的对象game。
  3. 第三步,执行构造函数Game()内的代码。

(3)通过“Object”方式创建对象

先通过object构造器new一个对象,再往里丰富成员信息

var game = Object();
game.first = "吃鸡";
game.two = "王者荣耀";
console.log(game.first) //输出"吃鸡"

(4)通过“create”方式创建对象

通过create创建对象,创建的是原型对象,例:

var game = {
first : "吃鸡",
two : "王者荣耀",
}
var game_1 = Object.create(game);
console.log(game_1.first) //输出"吃鸡"

JavaScript创建对象的三种方法的更多相关文章

  1. Javascript 创建对象的三种方法及比较【转载+整理】

    https://developer.mozilla.org/zh-CN/docs/JavaScript/Guide/Inheritance_and_the_prototype_chain 本文内容 引 ...

  2. C++创建对象的三种方法

    我自己以前经常弄混 A a(1); 栈内存中分配 A b = A(1); 栈内存中分配,和第一种无本质区别 A c = new A(1); 堆内存中分配 前两种在函数体执行完毕之后会被释放,第三种需要 ...

  3. JavaScript创建对象的4种方法

    我们有很多种方式去构造一个对象.可以构造一个对象字面量,也可以和new前缀连用去调用一个构造器函数,或者可以使用Object.create方法去构造一个已经存在的对象的新实例,还可以调用任意一个会返回 ...

  4. JavaScript | 创建对象的9种方法详解

    ————————————————————————————————————————————————————————— 创建对象 标准对象模式 "use strict"; // *** ...

  5. js创建对象的三种方法:文本标识法和构造器函数法和返回对象的函数

    文本标识法和定义变量差不多,像这样 var obj = {name:'HanMM','2':'Dali'}; 函数构造器法  先创建一个对象函数 function Obj() { this.addre ...

  6. sqlserver2012——SqlCommand创建对象的三种方法

    1.使用不带参构造函数 SqlCommand cmd = new SqlCommand(); cmd.Connection = SqlConnnection对象: cmd.CommandText=Sq ...

  7. JavaScript创建对象的七种方法

    一. 工厂模式 创建: function createPerson(name,behavior){ var p=new Object(); p.name=name; p.behavior=behavi ...

  8. js创建对象的三种方法

    1.使用对象初始化器:{} var person = {....} 2 var person=new object() function person(参数) { this.参数=... } var ...

  9. Javascript 创建对象的三种方式

    function createPerson(name, qq) //工厂方式 { //在工厂里创建个对象 var obj=new Object(); obj.name=name; obj.qq=qq; ...

随机推荐

  1. 白话SpringCloud | 第七章:分布式配置中心的使用

    前言 介绍完服务的容错保护处理,接下来我们来了解下关于分布式配置中心的相关知识和使用.众所周知,随着项目的越来越多,日益庞大,每个子项目都会伴随着不同的配置项,于此也就多了很多的配置文件.倘若某些配置 ...

  2. [转]JS组件系列——BootstrapTable 行内编辑解决方案:x-editable

    本文转自:http://www.cnblogs.com/landeanfen/p/5821192.html 阅读目录 一.x-editable组件介绍 二.bootstrapTable行内编辑初始方案 ...

  3. jquery的$.getScript在IE下的缓存问题

    jquery的$.getScript在IE下的缓存问题

  4. asp.net的几种页面传值方式

    1."~/x/xx.aspx?id=" + id string id=Request.Params["id"].ToString(); 2.Response.R ...

  5. CSP学习之ASN.1编码(一)

    一.定义: 是定义抽象数据类型的标准. 是用于描述数据的表示.编码.传输.解码的灵活记法. 它提供一套正式.无歧义和精确的规则,以描述独立于特定计算机硬件的对象结构. 标准的ASN.1编码规则有其基本 ...

  6. SpringMVC方法接收参数可以为空、默认值设置

  7. React学习笔记 - 组件&Props

    React Learn Note 4 React学习笔记(四) 标签(空格分隔): React JavaScript 三.组件&Props 组件可以将UI切分成一些独立的.可复用的部件,这样你 ...

  8. day3 函数、递归、及内置函数

    请查看我的云笔记链接: http://note.youdao.com/noteshare?id=7d5aa803981ae4375a1f648f48e7ade3&sub=5DFD553A6C5 ...

  9. ZT c++ 中的重载全局new,delete

    c++ 中的重载全局new,delete 分类: c++ 2010-08-06 10:31 116人阅读 评论(1) 收藏 举报 deletec++file编译器语言工作 最近做一个小项目,对c++又 ...

  10. 【转载】#470 Define Your Own Custom Attribute

    You can use predefined attributes to attach metadata to type members. You can also define a custom a ...