JavaScript 对象
创建对象
- 利用字面量创建对象
就是花括号 { } 里面包含了表达这个具体事物(对象)的属性和方法;{ } 里面采取键值对的形式表示
键:相当于属性名
值:相当于属性值
var star = {
name: 'peach',
age: 18,
sayhi: function () {
alert('hello')
}
};
- 访问对象的属性
console.log(star.name); // peach
2. 调用对象的方法
console.log(star.sayhi()); //hello
利用 new Object 创建对象
- 创建空对象
var andy = new Object();
- 给空对象添加属性和方法
andy.name = 'peach';
andy.age = 18;
andy.sayhai = function () {
console.log('hi');
}
- 利用构造函数创建对象
是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new 运算符一起使用。
格式:
function 构造函数名(形参1,形参2,形参3) {
this.属性名1 = 参数1;
this.属性名2 = 参数2;
this.属性名3 = 参数3;
this.方法名 = 函数体;
}
var obj = new 构造函数名(实参1,实参2,实参3)
function Getname(name, age, hi) {
this.age = age;
this.name = name;
this.hi = function () {
console.log('hi');
};
}
var obj = new Getname('peach', 18, 'hi');
console.log(obj.name); // peach
new关键字的作用
在构造函数代码开始执行之前,创建一个空对象;
修改this的指向,把this指向创建出来的空对象;
执行函数的代码
在函数完成之后,返回this---即创建出来的对象
遍历对象
function Getname(name, age, hi) {
this.age = age;
this.name = name;
this.hi = function () {
console.log('hi');
};
}
var obj = new Getname('peach', 18, 'hi');
for (var k in obj) {
console.log(k); // age name hi 这里的 k 是属性名
console.log(obj[k]); // 这里的 obj[k] 是属性值
}
内置对象
- Math对象
Math 对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 中的成员。
- 日期对象
- 使用Date实例化日期对象
获取当前时间必须实例化:
var now = new Date();
获取指定时间的日期对象:
var future = new Date('2019/5/1');
2. 使用Date实例的方法和属性
3. 通过Date实例获取总毫米数
var now = new Date();
// 第一种
// 1. 用于获取对象的原始值
console.log(now.valueOf()); // 1578466263599
console.log(now.getTime()); // 1578466263599
// 第二种
var now = + new Date();
var now = Date.now();
console.log(now); // 1578466416067