创建对象
- 利用字面量创建对象
就是花括号 { } 里面包含了表达这个具体事物(对象)的属性和方法;{ } 里面采取键值对的形式表示
键:相当于属性名
值:相当于属性值
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