JS_高程5.引用类型(1)Object类型
引用类型
在ECMASCript中,引用类型是一种数据结构,将数据和功能组织在一起,引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。(注意:尽管ECMAScript从技术上讲是一门面向对象的语言,但是它不具备传统面向对象语言所支持的类和接口等基本结构。)
1.Obiect类型
创建Object类型的两种方式:
(1)使用new操作符后跟Objec构造函数
var person=new Object();
person.name="Linshuling";
person.age=;
(2)使用对象字面量表示法(简写形式,简化创建包含大量属性的对象的过程。)
var person={
name:"Linshuling",
age:19
};
alert(person.name);
注意:
在对象字面量中,使用逗号来分隔不同的属性,因此“Linshuling”后面是一个逗号,但是在age属性的值19后面不能加逗号,因为age是这个对象的最后一个属性。在最后一个属性后面添加逗号,会在IE7及更早的版本和Opera中导致错误。
使用对象字面量语法时,属性名也可以使用字符串。
eg:
var person={
"name" :"Linshuling",
"age" :19,
5:true
};
注意:这里的数值属性名会自动转换为字符串。
另外,使用对象字面量语法时,如果留空其花括号,则可以定义只包含默认属性和方法的对象。
eg:
var person={}; //与new Object()相同
person.name="Linshuling";
person.age=19;
alert(person.age);
注意:
在通过对象字面量定义对象时,实际上是不会调用Object构造函数(Firefox2及更早版本会调用;但是Firefox3之后就不会了)。实际上,开发人员更倾向对象字面语法,因为这种语法要求的代码量少,而且能够给人封装数据的感觉。
对象字面量也是向函数传递大量可选参数的首选方式。
eg:
function displayInfo(args){
var output="";
if(typeof args.name=="string"){
output+="Name:"+args.name+"\n";
}
if(typeof args.age=="number"){
output+="Age:"+args.age+"\n";
} alert(output);
}
displayInfo({
name:"Linshuling",
age:29
}); displayInfo({
name:"lin"
});
这种传递参数得模式最适合需要向函数传入大量可选参数的情形。
2.访问对象的方法
(1)点表示法
(2)方括号表示法
eg:
var person=new Object();
person.name="Linshuling";
person.age=19;
alert(person.name);
alert(person["age"]);
注意:
alert(person["age"]);属性名称age要加“”,不然会出现错误。 方括号的优点:
(1)可以通过变量来访问属性
eg:
var n="name";
alert(person[n]);
(2)如果属性名中包含导致语法错误的字符,或者属性名使用的是关键字或是保留字,也可以使用方括号表示法。
person["first name"]="Linshuling";
由于first name 中包含一个空格,所以不能使用点表示法来访问它。
注意:除非使用变量来访问属性,否则建议使用点表示法。
JS_高程5.引用类型(1)Object类型的更多相关文章
- JavaScript引用类型之Object类型
在JavaScript中大多数的引用类型都是Object的实例,Object类型也是使用最多的类型! 创建Object类型实例的方式有两种,下面分别来分析一下: (1)第一种是使用new操作符后跟Ob ...
- JavaScript之引用类型(Object类型)
ECMAScript提供了很多原生的引用类型,以便开发人员进行常见的计算任务. 对象是某一个特定引用类型的的实例. Object类型 用的最多.虽然这个Object实例不具备多少功能,但是在应用程序的 ...
- 引用类型之object类型
object类型有两种创建方法,第一种是直接创建法: var person=new Object(); person.name = "Nicholas"; person.age = ...
- JS_高程5.引用类型(4)Array类型的各类方法
一.转换方法 所有的对象都具有toLocaleString(),toString()和valueOf()方法.调用toString()方法会返回由数组中的每个值的字符串拼接而成的一个以逗号分隔的字符串 ...
- JS_高程5.引用类型(3)Array类型-检测数组
1. instanceof操作符(ECMAScript3) 对于一个网页,或者是一个全局作用域而言,使用instanceof操作符来检测数组就可以得到满意的结果. 语法:if(value instan ...
- JS_高程5.引用类型(2)Array类型
Array类型: ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的. 创建数组的基本方式: (1)使用Array构造函数 var color=new Array(); ...
- JS_高程5.引用类型(6)Array类型的位置方法,迭代方法,归并方法
一.位置方法 ECMAScript5为数组实例添加了两个位置:indexOf()和 lastIndexOf().这两个方法接收两个参数:要查找的项和(可选的)表示查找起点位置的索引(如在数组[7,8, ...
- JS_高程5.引用类型(5)Array类型的操作方法
一.操作方法 1.concat()方法 基于当前数组中的所有项创建一个新数组.具体说,是先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组.在没有给concat() ...
- 【js高程学习笔记】Object类型
创建一组Object的实例的方式有两种: 方法一: var person = new Object(); person.name = '团子'; person.race = '猫'; person.s ...
随机推荐
- [转] 跨域资源共享 CORS 详解
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从 ...
- 【译】写好JavaScript条件语句的5个技巧
译文 当我们写JavaScript代码时,经常会用到到条件判断处理,这里有5个技巧能使你写出更好.更简洁的条件语句. 1.使用Array.includes处理多种条件 让我们来看一下的例子: // c ...
- python生成随机日期字符串
python生成随机日期字符串 生成随机的日期字符串,用于插入数据库. 通过时间元组设定一个时间段,开始和结尾时间转换成时间戳. 时间戳中随机取一个,再生成时间元组,再把时间元组格式化输出为字符串 # ...
- net core体系-web应用程序-4net core2.0大白话带你入门-6asp.net core配置文件
asp.net core配置文件 读取配置文件 asp.net core使用appsettings.json代替传统.net framework的web.config中的<appSettin ...
- pyqt5界面使用
安装配置了pyuic和pyrcc后再进行下面操作 1.打开: 位置(我的):C:\Users\AppData\Roaming\Python\Python35\site-packages\p ...
- 基于Kubernetes集群部署skyDNS服务
目录贴:Kubernetes学习系列 在之前几篇文章的基础,(Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard.为Kubernetes集群部署本地镜像仓库 ...
- BZOJ3393 [Usaco2009 Jan]Laserphones 激光通讯 BFS
原文链接http://www.cnblogs.com/zhouzhendong/p/8371735.html 题目传送门 - BZOJ3393 题意概括 直接看原题的翻译吧,很容易懂的. 题解 我不知 ...
- tomcat多端口配置
<?xml version="1.0" encoding="UTF-8"?> <Server port="8005" sh ...
- 011 pandas的常见操作
一:对索引进行操作 1.reindex重新索引 pandas提供了一个方法来创建一个适应新索引的新对象. Series通过调用reindex方法会根据新的索引顺序重新排序,如果新的索引中存在原索引不存 ...
- ESP8266进阶篇
ESP8266进阶篇 20170225(应需要,继续使用此模块!!!) 说一下如何通过内网和外网来控制我的ESP8266的数据模块 1.内网控制:(要求手机直接连接在ESP8266的WIFI上面,使用 ...