在 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. bzoj 4574: [Zjoi2016]线段树

    Description 小Yuuka遇到了一个题目:有一个序列a_1,a_2,?,a_n,q次操作,每次把一个区间内的数改成区间内的最大值,问 最后每个数是多少.小Yuuka很快地就使用了线段树解决了 ...

  2. 修改K3数据是简介方法

    如  及时库存里有个别产品库存没有库位  是*号的 这个时候  我们创建一个其他出库单,把这个没有库位的产品输入进去,库位随便写个 如002 保存,审核不了的  会提示负库存 去后台找到此单据号 修改 ...

  3. 数据库mysql中编码自动生成

    call PrGetRuleCodeNoDate('Table_Name'); call PrGetRuleCode('Table_Name');

  4. MySQL8.0加载文件内容报错: ERROR 1148: The used command is not allowed with this MySQL version

    mysql数据库将文件内容加载到表中报错: mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet LINES TERMINAT ...

  5. C# 读写xml、excel、word、ppt、access

    C# 读写xml.excel.word.access 这里只是起个头,不做深入展开,方便以后用到参考 读写xml,主要使用.net  的xml下的document using System;using ...

  6. Spring Cloud Ribbon负载均衡配置类放在Spring boot主类同级增加Exclude过滤后报Field config in com.cloud.web.controller.RibbonConfiguration required a bean of type 'com.netflix.client.config.IClientConfig' that could not b

    环境: Spring Cloud:Finchley.M8 Spring Boot:2.0.0.RELEASE 目录结构: 可以看到代码第13行的注释,我已经在@ComponentScan注解中添加了E ...

  7. SQLAlchemy的使用---外键ForeignKey数据增删改查

    # 添加数据 from sqlalchemy.orm import sessionmaker from create_table_ForeignKey import engine, Student, ...

  8. gsap

    TweenMax借助于css,轻量级的js库 下面是简单的demo <!DOCTYPE html> <html lang="en"> <head> ...

  9. ADO.NET Tips

    1. SqlCommand.ExecuteScalar Method Executes the query, and returns the first column of the first row ...

  10. Jmeter使用CSV Data Set Config参数化数据不重复的多次循环执行(实现多用户多次抽奖功能)

    Jmeter中使用CSV Data Set Config参数化不重复数据执行N遍 要求: 今天要测试上千条数据,且每条数据要求执行多次,(模拟多用户多次抽奖) 1.用户id有175个,且没有任何排序规 ...