JavaScript创建对象的三种方法
在 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()函数举个例子:
- 第一步,创建一个空对象。
var game={} - 第二步,将构造函数Game()中的this指向新创建的对象game。
- 第三步,执行构造函数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创建对象的三种方法的更多相关文章
- Javascript 创建对象的三种方法及比较【转载+整理】
https://developer.mozilla.org/zh-CN/docs/JavaScript/Guide/Inheritance_and_the_prototype_chain 本文内容 引 ...
- C++创建对象的三种方法
我自己以前经常弄混 A a(1); 栈内存中分配 A b = A(1); 栈内存中分配,和第一种无本质区别 A c = new A(1); 堆内存中分配 前两种在函数体执行完毕之后会被释放,第三种需要 ...
- JavaScript创建对象的4种方法
我们有很多种方式去构造一个对象.可以构造一个对象字面量,也可以和new前缀连用去调用一个构造器函数,或者可以使用Object.create方法去构造一个已经存在的对象的新实例,还可以调用任意一个会返回 ...
- JavaScript | 创建对象的9种方法详解
————————————————————————————————————————————————————————— 创建对象 标准对象模式 "use strict"; // *** ...
- js创建对象的三种方法:文本标识法和构造器函数法和返回对象的函数
文本标识法和定义变量差不多,像这样 var obj = {name:'HanMM','2':'Dali'}; 函数构造器法 先创建一个对象函数 function Obj() { this.addre ...
- sqlserver2012——SqlCommand创建对象的三种方法
1.使用不带参构造函数 SqlCommand cmd = new SqlCommand(); cmd.Connection = SqlConnnection对象: cmd.CommandText=Sq ...
- JavaScript创建对象的七种方法
一. 工厂模式 创建: function createPerson(name,behavior){ var p=new Object(); p.name=name; p.behavior=behavi ...
- js创建对象的三种方法
1.使用对象初始化器:{} var person = {....} 2 var person=new object() function person(参数) { this.参数=... } var ...
- Javascript 创建对象的三种方式
function createPerson(name, qq) //工厂方式 { //在工厂里创建个对象 var obj=new Object(); obj.name=name; obj.qq=qq; ...
随机推荐
- vim脚本语言
转自:http://man.chinaunix.net/newsoft/vi/doc/usr_41.html#usr_41.txt Vim 脚本语言在很多地方用到,包括 vimrc 文件, 语法文件, ...
- JavaScript实现StringBuffer
function StringBuffer() { this._strings = new Array(); } StringBuffer.prototype.Append = function(_s ...
- 关于JVM
Java 中通过多线程机制使得多个任务同时执行处理,所有的线程共享JVM内存区域main memory,而每个线程又单独的有自己的工作内存,当线程与内存区域进行交互时,数据从主存拷贝到工作内存,进而交 ...
- HDU 5007 字符串匹配
http://acm.hust.edu.cn/vjudge/contest/122814#problem/A 匹配到字符串就输出,水题,主要是substr的运用 #include <iostre ...
- 002Angular2工程目录解构
|--my-app 工程名 |--e2e 端到端测试 |--node_modules package.json列出的第三方模块放在此处 |--src |--app |--app.component.c ...
- canvas的getImageData和putImageDataAPI
- .NET开源工作流RoadFlow-表单设计-保存与发布
表单的过程中可以随时保存,以便下次继续设计. 表单设计完成后即可点击发布按钮,发布表单,发布表单后即可在流程设计时选定该表单.
- pl/sql实现金额转换为大写
FUNCTION upper_case_currency(vrmb char) RETURN varchar2 IS rmbwodecimal varchar2(20); result varchar ...
- Spring Boot学习路线
Spring Boot 学习路线,本文计划根据作者近几年的工作.学习经验,来分析和制定一个学习使用 Spring Boot技术的步骤路线图. SpringBoot是伴随着Spring4.0诞生的: S ...
- [图]Windows 10 Build 16273版本更新发布:新增可变式字体Bahnschrift
在经历了长达三周的等待之后,微软于今天终于面向Windows Insider项目的Fast通道用户发布了Windows 10 Build 16273版本更新.事实上,微软应该会在两周前就应该发布新版本 ...