Javascript学习笔记——对象和内置对象
对象
在JavaScript中,所有的事物都是对象,例如字符串、数值、数组、函数等。
创建对象
利用对象字面量创建对象
var obj = {}; //创建了一个空的对象
var obj = {
uname: '张三疯',
age: 18,
sex: '男',
sayHi: function() {
console.log('hi~');
}
}
里面的属性或者方法采取键值对的形式
多个属性或者方法中间用逗号隔开的
方法冒号后面跟的是一个匿名函数
利用new object创建对象
利用等号=赋值的方法添加对象的属性和方法
每个属性和方法之间用分号结束
var obj = new Object(); // 创建了一个空的对象
obj.uname = '张三疯'; // 采用追加的的方式增加属性
obj.age = 18;
obj.sex = '男';
obj.sayHi = function() {
console.Jog('hi~');
}
利用构造函数创建对象
构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new运算符一起使用。可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。
构造函数名字首字母要大写。
构造函数不需要return就可以返回结果。
调用构造函数必须使用new。
function Star(uname, age, sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function() {
console.log();
}
}
var ldh = new Star('刘德华', 18, '男'); //调用函数返回的是一个对象
console.log(typeof ldh);
console.log(ldh.name);
console.log(ldh['sex']);
new在执行时会做四件事情
- 在内存中创建一个新的空对象。
- 让this 指向这个新的对象。
- 执行构造函数里面的代码,给这个新对象添加属性和方法。
- 返回这个新对象(所以构造函数里面不需要return)。
使用对象
调用对象的属性
对象名.属性名
对象名['属性名']
console.log(obj.uname);
console.log(obj['sex']);
obj.sayHi();
使用循环打印对象的属性
for (var k in obj) {
console.log(k);
console.log(obj[k]);
}
内置对象
JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象
前面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于JS独有的。
JavaScript提供了多个内置对象:Math、Date、Array、string等
Math
Math不需要创建对象,其内部的函数都是静态的。
四舍五入,5往大的方向取,0.5取1,-0.5取0。
Date
创建对象
需要通过Date()创建对象,有四种创建方式。
-
如果没有提供参数,那么新创建的Date对象表示实例化时刻的日期和时间。
-
通过Unix 时间戳,它是一个整数值,表示自1970年1月1日00:00:00 UTC(the Unix epoch)以来的毫秒数,忽略了闰秒。请注意大多数 Unix 时间戳功能仅精确到最接近的秒。
-
表示日期的字符串值。该字符串应该能被
Date.parse()正确方法识别(即符合 IETF-compliant RFC 2822 timestamps 或 version of ISO8601)。注意:当Date作为构造函数调用并传入多个参数时,如果数值大于合理范围时(如月份为 13 或者分钟数为 70),相邻的数值会被调整。比如 new Date(2013, 13, 1)等于new Date(2014, 1, 1),它们都表示日期2014-02-01(注意月份是从0开始的)。其他数值也是类似,new Date(2013, 2, 1, 0, 70)等于new Date(2013, 2, 1, 1, 10),都表示同一个时间:
2013-03-01T01:10:00。 -
通过分别提供日期与时间的每一个成员。
注意,Date中的月份和星期,是从0开始的。
new Date();
new Date(value); // Unix 时间戳
new Date(dateString); // 表示日期的字符串值
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
案例
var date2 = new Date('2019-10-1 8:8:8');
var today = new Date();
var birthday = new Date('December 17, 1995 03:24:00');
var birthday = new Date('1995-12-17T03:24:00');
var birthday = new Date(1995, 11, 17);
var birthday = new Date(1995, 11, 17, 3, 24, 0);
常用方法
| 方法名 | 说明 | 代码 |
|---|---|---|
| getFullYear() | 获取当年 | dObj.getFullYear() |
| getMonth() | 获取当月(0-11) | dObj.getMonth() |
| getDate() | 获取当天日期 | dObj.getDate() |
| getDay() | 获取星期几(周日0到周六6) | dObj.getDay() |
| getHours() | 获取当前小时 | dObj.getHours() |
| getMinutes() | 获取当前分钟 | dObj.getMinutes() |
| getSeconds() | 获取当前秒钟 | dObj.getSeconds() |
获取时间戳(距离1970年1月1号的毫秒数)
//1.通过valueof() getTime()
var date = new Date();
console.log(date.valueof());
console.log(date.getTime());
//2.简单的写法(最常用的写法)
var date1 = +new Date();
console.log(date1);
// 3.H5新增
console.log(Date.now());

浙公网安备 33010602011771号