在 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. zstu 4212 ——String Game ——————【字符串处理】

    4212: String Game Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 337  Solved: 41 Description Alice a ...

  2. POJ 2528——Mayor's posters——————【线段树区间替换、找存在的不同区间】

    Mayor's posters Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub ...

  3. 【SoapUI】http接口测试

    一.接口介绍 API(Application Programming Interface,应用程序编程接口) 1.硬件接口 USB接口 硬盘接口 SD卡接口 LAN口和WAN口 CONSOLE口 .. ...

  4. js面向对象3

    1.this的使用 核心:在js中,this表示当前对象,“谁”调用了当前函数,“this”就指向了“谁” 语法: Function 类(){ this.属性=值; } 例1.在构造器中,使用this ...

  5. SQL脚本整理系列一 表分区

    表分区的目的: 1.把历史数据放到另外一个表里面 可以提高查询效率 当然如果经常查询历史数据和新数据的合并结果集这样做就大大的不好了 2.通过把一个表放到不同的文件,不同的文件再存储到不同的磁盘列阵中 ...

  6. C# string Stream 互转

    使用C#将字符串转化成流,将流转换成字符串,代码如下: using System.IO; using System.Text; namespace CSharpConvertString2Stream ...

  7. node express formidable 文件上传后修改文件名

    //我是用php的思想来学习nodejs var express = require('express'); var router = express.Router(); var fs = requi ...

  8. POJ 3225 线段树区间更新(两种更新方式)

    http://blog.csdn.net/niuox/article/details/9664487 这道题明显是线段树,根据题意可以知道: (用0和1表示是否包含区间,-1表示该区间内既有包含又有不 ...

  9. java几种常见的排序算法总结

    /*************几种常见的排序算法总结***************************/ package paixu; public class PaiXu { final int  ...

  10. ASP.NET MVC 音乐商店 - 6. 使用 DataAnnotations 进行模型验证

    在前面的创建专辑与编辑专辑的表单中存在一个问题:我们没有进行任何验证.字段的内容可以不输入,或者在价格的字段中输入一些字符,在执行程序的时候,这些错误会导致数据库保存过程中出现错误,我们将会看到来自数 ...