目录
往期内容:
五、内部对象
5.1 标准对象
//标准对象
typeof 123
'number'
typeof '123'
'string'
typeof true
'boolean'
typeof NaN
'number'
typeof []
'object'
typeof {}
'object'
typeof Math.abs
'function'
typeof undefined
'undefined'
5.2 Date
- Date 对象用于处理日期与时间。
- 创建 Date 对象: new Date()
var now=new Date();
console.log(now); //当前时间
1.getFullYear()
从 Date 对象以四位数字返回年份
now.getFullYear(); //年
2.getMonth()
从 Date 对象返回月份 (0 ~ 11)
now.getMonth(); //月 0-11
当前时间为 三月,返回值从0开始,所以控制台打印为 2
3.getDate()
从 Date 对象返回一个月中的某一天 (1 ~ 31)
now.getDate(); //日
4.getDay()
从 Date 对象返回一周中的某一天 (0 ~ 6)
now.getDay(); //星期几
5.getHours()
返回 Date 对象的小时 (0 ~ 23)
now.getHours(); //时
6.getMinutes()
返回 Date 对象的分钟 (0 ~ 59)
now.getMinutes(); //分
7.getSeconds()
返回 Date 对象的秒数 (0 ~ 59)
now.getSeconds(); //秒
8.getTime()
-
时间戳 全世界统一
-
返回 1970 年 1 月 1 日至今的毫秒数
now.getTime();
9.时间戳转为时间
console.log(new Date(1646723594034)) //时间戳转为时间
10.toLocaleString()
- 根据本地时间格式,把 Date 对象转换为字符串
- 注意:调用是一个方法 不是一个属性
now=new Date(1646723594034);
console.log(now.toLocaleString()) //注意:调用是一个方法 不是一个属性
// function toLocaleString(){ [native code]}
11.toUTCString()
根据世界时,把 Date 对象转换为字符串
now=new Date(1646723594034);
console.log(now.toUTCString());
5.3 JSON
1.什么是JSON
- JSON: JavaScript Object Notation(JavaScript 对象表示法)
- 轻量级的文本数据交换格式
- 具有简洁清晰的层次结构
- 易于人阅读和编写,同时也易于机器解析和生成,有效提升网络传输效率
在 JavaScript 中一切皆为对象,任何 JavaScript 支持的类型都可以用 JSON 来表示
格式:
- 对象用 { }
- 数组用 [ ]
- 所有键值对都是用 key:value
2.JSON字符串和JS对象的转化
var user={
name:"zhangsan",
age:3,
sex:'男'
}
使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串
var jsonUser=JSON.stringify(user)
使用 JSON.parse() 方法将数据转换为 JavaScript 对象
var obj=JSON.parse('{"name":"zhangsan","age":3,"sex":"男"}');
六、面向对象编程
6.1 面向对象原型继承
var student={
name:"zhangsan",
age:3,
run:function (){
console.log(this.name+" run...")
}
};
var xiaoming={
name:"xiaoming"
};
此时的 xiaoming 只有 name 这个属性
__proto__属性
- 每个JS对象一定对应一个原型对象,并从原型对象继承属性和方法
- 对象
__proto__
属性的值就是它所对应的原型对象 - 原型对象 可以理解成父类
xiaoming.__proto__=student; //xiaoming的原型是student
此时 xiaoming 继承了 原型对象 student 的方法和属性
6.2 面向对象class继承
class关键字在ES6引入
function student(name){
this.name=name;
}
给student新增一个方法:
1.ES6以前的原生方式: 找到原型增加方法
student.prototype.hello=function(){
alert('hello')
}
2.ES6之后 定义一个类:属性,方法
①定义一个学生类
class student{
constructor(name) {
this.name=name;
}
hello(){
console.log("hello");
}
}
var xiaohong =new student("xiaohong")
②puipl 继承 student 类
class pupil extends student{
constructor(name,grade) {
super(name);
this.grade=grade;
}
mygrade(){
console.log('我是一名小学生');
}
}
var xiaohong =new pupil("xiaohong",2)
本质:查看对象原型