跳转至

第5章 引用类型

5.1 Object类型

创建Object实例的方式有两种。

  • 第一种是使用new操作符后跟Object构造函数
1
2
3
var person = new Object();
person.name = "Nicholas";
person.age = 29;
  • 第二种是使用对象字面量表示法
1
2
3
4
var person ={
    name : "Nicholas",
    age : 29
}

属性名也可以使用字符串

1
2
3
4
var person ={
    "name" : "Nicholas",
    "age" : 29
}

一般来说,访问对象属性时使用的都是点表示法,这也是许多面向对象语言中通用的语法。不过,在JavaScript也可以使用方括号来访问对象的属性。方括号语法的主要优点是可以通过变量来访问属性。

1
2
3
4
5
6
7
var person ={
    "name" : "Nicholas",
    "age" : 29
}
alert(person.name);
alert(person["name"]); //Nicholas
alert(person[propertyName]); //Nicholas

5.3 Date类型

var now = new Date();
alert(now); //返回当前时间 Fri Jan 15 2016 09:39:14 GMT+0800 (CST)

// parse 方法接收一个表示日期的字符串 ,返回相应日期的毫秒数.
alert(Date.parse("6/13/2016"));
alert(Date.parse("January 12,2016"));
alert(new Date("6/13/2016")); //Mon Jun 13 2016 00:00:00 GMT+0800 (CST)
alert(new Date("January 12"));
//UTC方法
alert(Date.UTC(2016,1,1,17,55,55)); //1454349355000

alert(Date.now()); //当前时间毫秒数

5.4 RegExp类型

ECMAScript通过RegExp类型来支持正则表达式。

语法

var expression = /pattern/flags;

pattern部分可以是任何简单或复杂的正则表达式。每个正则表达式都可带有一或多个标志(flags),用以标明正则表达式的行为。

5.4.1 RegExp实例属性

5.4.2 RegExp实例方法

5.4.3 RegExp构造函数属性

5.4.4 模式的局限性

5.5 Function类型

5.5.1 没有重载

5.5.2 函数声明与函数表达式

5.5.3 作为值的函数

5.5.4 函数内部属性

5.6 基本包装类型

5.7 单体内置对象