引用类型-----Object
本文章转载至:https://segmentfault.com/a/1190000003984584
关于引用类型的概念:
引用类型:引用类型的值(对象)是引用类型的一个实例;
对象:是某个特定引用类型的实例;
新对象:用new 操作符后跟一个构造函数来创建的;如代码:
var person = new Object();
这行代码创建了Object 引用类型的一个新实例,然后把该实例保存在了变量person 中。使用的构造函数是Object()
。
创建Object 类型实例的方法
1. 使用new 操作符后跟Object 构造函数;
2. 使用对象自变量表示法;
对于第一种,Object 实例的创建方式如下:
var child = new Object();
child.name = "Oliver";
child.age = 18;
console.log(child.name); //"Oliver"
对于第二种,Object 实例的创建方式如下:
var child = {
name: "Oliver",
age: 18
}
console.log(child.age + " " + child.name); //"18 Oliver"
上面这个例子中,在age:18 之后不能添加逗号,因为age 是这个对象的最后一个属性。(在最后一个属性后面添加逗号,会在IE7 及更早版本和Opera 中导致错误。)
另外,在自变量表示法创建实例的中,属性名也可以使用字符串,如:
var person = {
"name" : "Nicholas",
"age" : 29,
5 : "fdd"
}
console.log(person.name); //"Nicholas"
console.log(person["5"]); //"fdd"
注意!这里如果要访问person 里面的属性名为5 的属性的值,则需要使用方括号语法如:person[5]
,最好写成person['5']
后面会介绍。
另外,这里的5 会被自动转换成字符串"5"。
在使用字面两语法时,如果留空其花括号,则可以定义只包含默认属性和方法的对象,如:
var person = {};
person.name = "Oliver";
person.age = 18;
person[5] = "fdd";
这里的var person = {}
跟new Object()
相同。
对象字面两也是向函数传递大量可选参数的首选方式,如:
function display(obj){
var output = "";
if (typeof obj["name"] == "string"){
output += "Name: " + obj["name"] + "<br/>";
}
if (typeof obj.age == "number"){
output += "Age: " + obj.age + "<br/>";
}
document.write(output);
} display({
name:"Oliver",
age:18
})
一般来说方括号语法是在必须使用变量来访问属性的时候才使用。如果这里一定要用方括号语法,那就必须写成这样的形式person["name"]
与person.name
相同。后面会详述。
访问对象的属性
一般来说主要有两种方法:
点表示法;
方括号语法;
访问对象属性时一般都是使用点表示法。当然也可以使用方括号表示法,如:
person.name;
person["name"];
方括号语法的主要优点是可以通过变量来访问属性,如:
var person = {
name:"Oliver"
}
var propertyName = "name";
console.log(person[propertyName])
在对象里面,name属性可以写成字符串形式"name",如果用方括号语法,一定要注意写成person["name"]
如果属性名中包含会导致语法错误的字符,或者属性名使用的是关键字或保留字,也可以使用方括号表示法。如:
person["first name"] = "Oliver";
因为如果写成person.first name
会报错。
一定要注意的是,除非必须使用变量来访问属性,否则建议使用点表示法。
引用类型-----Object的更多相关文章
- [JS高程]引用类型(Object、Array)
引用类型:Object.Array Object: person.name =>推荐,除非必须使用变量([])来表示 person["name"] 区别:[]可以通过变量 ...
- js常用API 数据类型 基本类型,基本包装类型,引用类型 Object String Array Boolean Number Date Math
数据类型 变量.作用域及内存 基础类型(primitive value):Undefined.Null.Boolean.Number和String.这些类型在内存中分别占用固定大小的空间,他们的值保存 ...
- javascript学习笔记 - 引用类型 Object
引用类型是一种数据结构,也称作对象定义,类似于类的概念. 对象是引用类型的实例. javascript引用类型有:Object, Array, Date, RegExp, Function 使用new ...
- 引用类型--Object类型、Array类型
引用类型的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,它描述的是一类对象具有的属性和方法. 对象是某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数 ...
- 引用类型-Object类型
创建Object实例的方式有两种. 第一种是使用new操作符后跟Object构造函数 var person = new Object(); person.name = "liao" ...
- javascript学习第三课引用类型object
主要内容: 1.object 是所有类型的基类 实例化对象: 1. var obj = new Object(); 2. var obj = {}; 设置对象属性和方法: obj.name = 'he ...
- JavaScript引用类型-Object类型
创建Object的方式有两种: 第一种:使用new操作符后跟Object操作函数. var person = new Object(); person.name = "wang"; ...
- js中的引用类型-object
- JS 引用类型之Object
引用类型定义: 描述一类对象具有的属性和方法 引用类型Object ,也就是我们常说的对象类型了,这应该是JavaScript中最常见的引用类型了. 对象是某个引用类型的实例,如何创建一个实例,也就是 ...
随机推荐
- HDU5057(分块)
Argestes and Sequence Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- 微信LazyMan笔试题的深入解析和实现
一.题目介绍 以下是我copy自网上的面试题原文: 实现一个LazyMan,可以按照以下方式调用: LazyMan("Hank")输出: Hi! This is Hank! ...
- setTimeout小总结
▓▓▓▓▓▓ 大致介绍 今天看了一篇文章,觉得写得不错,所以学习了一下,这篇博客是我自己的理解和总结 原文:你应该知道的 setTimeout 秘密 主要内容: 1.setTimeout原理 2.se ...
- 编程练习------C/C++分别实现字符串与整数的转换
C/C++分别实现字符串与整数的转换 前提:不使用 itoa 和 atoi. 方法一.C和C++通用的一种转换手段是: 1.整数转化为字符串:采用加'0',再逆序的办法,整数加'0'就会隐性转化成ch ...
- tableView的编辑
首先记住声明编辑样式的属性 UITableViewCellEditingStyle 和四个步骤 第一步:让tableView处于编辑状态 [self.rootView.tabView setEdit ...
- 记一次阿里云Linux服务器安装.net core sdk的问题以及解决方法
因为公司领导要求新的项目能跨平台部署,也就是说能部署到Linux服务器上,故新的项目采用了Asp.net mvc core 1.1 进行开发.开发过程一切都比较顺利,然后在之前申请试用的一台微软Azu ...
- matlab中axis的使用
% 提示 disp ('该功能练习axis功能'); %初始化快捷式数组 x=-*pi:pi/:*pi; y=sin(x); plot(x,y); title('sin(x)图形'); grid on ...
- nodejs笔记1 ----关于express不是本地命令
1,npm install -g express安装express框架 2,npm install -g express-generator安装命令工具 3,express --help 安装完成
- SharePoint 2016 文档库的新功能简介
今天,重装了一下SharePoint 2016,想多了解了解,看到一些自己平时没注意的功能,或者新的功能,分享一下给大家. 1.界面上操作的变换,多了一排按钮,更像SharePoint Online了 ...
- p1217晚餐(简单的dijkstra)
题目: 输入: 1000 5 61 2 3002 4 2003 4 6003 4 8005 3 1002 5 650 输出: 4 这道题呢,其实就是用邻接矩阵将每条边耗费的体力存起来,然后用dijks ...