一、Object类型
1、概述:
到目前为止,我们使用的引用类型最多的可能就是Object 类型了。虽然Object 的实例不具备多少功能,
但对于在应用程序中的存储和传输数据而言,它确实是非常理想的选择。
创建Object 类型有两种。一种是使用new 运算符,一种是字面量表示法。
// An highlighted block
1.使用new 运算符创建Object
var box = new Object(); //new 方式
box.name = '李四'; //创建属性字段
box.age = 28; //创建属性字段
2.new 关键字可以省略
var box = Object(); //省略了new 关键字
3.使用字面量方式创建Object
var box = { //字面量方式
name : '李四', //创建属性字段
age : 28
};
4.属性字段也可以使用字符串创建
var box = {
'name' : '李四', //也可以用字符串形式
'age' : 28
};
5.使用字面量及传统复制方式
var box = {}; //字面量方式声明空的对象
box.name = '李四'; //点符号给属性复制
box.age = 28;
6.两种属性输出方式
alert(box.age); //点表示法输出
alert(box['age']); //中括号表示法输出,注意引号
PS:在使用字面量声明Object 对象时,不会调用Object()构造函数(Firefox 除外)。
7.给对象创建方法
var box = {
run : function () { //对象中的方法
return '运行';
}
}
alert(box.run()); //调用对象中的方法
8.使用delete 删除对象属性
delete box.name; //删除属性
在实际开发过程中,一般我们更加喜欢字面量的声明方式。因为它清晰,语法代码少,
而且还给人一种封装的感觉。字面量也是向函数传递大量可选参数的首选方式。
function box(obj) { //参数是一个对象
if (obj.name != undefined) alert(obj.name); //判断属性是否存在
if (obj.age != undefined) alert(obj.age);
}
box({ //调用函数传递一个对象
name : '李四',
age : 28
});
(2)
* 函数也可以称为对象的属性,
* 如果一个函数作为一个对象的属性保存,
* 那么我们称这个函数时这个对象的方法
* 调用这个函数就说调用对象的方法(method)
* 但是它只是名称上的区别没有其他的区别
2、Array对象(very important)
1.Array对象是数组对象,跟java中的数组一个意思,但是使用语法上稍微有些区别。
2.Java:可以保存多种类型相同的数据。在Java中数组的长度是固定的,类型也固定的。
3.js:可以保存不同类型的数据,同时长度不固定。可以把其理解成Java中的ArrayList。
2.2、创建数组对象 的方式:
1.创建空数组:var arr = new Array();
2.创建指定容量的数组:var arr = new Array(size);
3.创建数组并填充元素:var arr = new Array(a,b,c...);
4.创建元素数组:var arr = [a,b,c...];
3、Date()、日期对象
创建当前日期时间:var date = new Date();
创建指定日期时间:var date = new Date(毫秒值);
其中毫秒值为1970-01-01至今的时间毫秒值
3.1、时间获取
年:getFullYear() 以四位数字返回年份
月:getMonth() 返回月份 (0 ~ 11)
日:getDate() 返回一个月中的某一天
星期:getDay() 返回一周中的某一天 (0 ~ 6),0代表周日
小时:getHours() 返回小时(0 ~ 23)
分:getMinutes() 返回分钟(0 ~ 59)
秒:getSeconds() 返回秒数(0 ~ 59)
毫秒值:getTime() 返回 1970 年 1 月 1 日至今的毫秒数
toLocaleString() 把Date对象转换为字符串
toLocaleDateString() 把Date对象的日期部分转换为字符串
toLocaleTimeString() 把Date对象的时间部分转换为字符串