一、对象
1:js的对象的分类
内置对象:
ES提供可以直接被使用的对象,已经是一个具体的实例,不需要创建
Math对象,数学对象
本地对象:
其实只是ES提供的一种类方法,需要被实例化之后,才能使用
需要被new执行之后,才能使用
String,Object,Array,Number,Boolean,RegExp,Date
宿主对象:
由浏览器或W3C提供的运行ES的环境,所带的对象:BOM(window) DOM(document)
包括所有自定义对象
2:补充关键字
Delete:用来删除自定义对象的属性
delete 对象.属性名
;
只能删除自定义对象的属性,且一次只能删除一个
3:Math数学对象
Math是js的一个内置对象,提供了一堆的使用方法帮助我们来操作数字
属性:
Math.PI :圆周率
方法:
Math.random():随机数,随机产生0-1之间的数字,不包括0和1
Math.round():取最近的整数
Math.ceil():向上取整
Math.floor():向下取整
Math.max():参数是多个数字,求最大数字
Math.min():参数是多个数字,求最小数字
Math.pow(底数,指数):求次方
Math.sqrt():开根号
Math.abs():求绝对值
Math.sin(弧度):求正弦
Math.cos(弧度):求余弦
4:如何得到范围随机数
Math.floor(Math.random() * (max-min+1) ) + min
二、进制转换
1:十进制转其他进制
十进制就是日常使用进制,是数值型数据;
其他进制,如:十六进制中包含abcdef,所以需要用字符形式表示;
其实就是将数值转成字符
- num.toString(进制)
```js
var num = 234;
console.log(num);
var er = num.toString(2);
console.log(er);
var ba = num.toString(8);
console.log(ba);
var sl = num.toString(16);
console.log(sl);
```
2:其他进制转十进制
其他进制都是用字符表示;
其实就是将字符转成数值;
- parseInt(要转换的数据, 作为哪个进制转换)
```js
var str = “101010”;
console.log(parseInt(str, 2)); // 42
console.log(parseInt(str, 8)); // 33288
console.log(parseInt(str, 16)); // 1052688
console.log(parseInt(str, 10)); // 101010
console.log(parseInt(str)); // 101010
```
3:其他进制转其他进制
利用十进制过渡
**注:**u编码:得到的直接就是十进制,被系统自动转了
三、日期对象
1:Date日期对象,用来获取当前系统日期
是本地对象,本地对象的特点是不能直接使用,这仅仅是个类方法(类似与函数),需要new执行后才能使用
2:创建日期对象
系统默认的日期:new Date();
3:获取日期对象的每一部分
```js
var year = d.getFullYear();
var month = d.getMonth(); // 0~11
var myDate = d.getDate();
var day = d.getDay(); // 0~6
var hours = d.getHours();
var minutes = d.getMinutes();
var seconds = d.getSeconds();
var millS = d.getMilliseconds();
```
4:设置日期对象
直接设置:简单粗暴,但必须整体设置
new Date(要设置的数据)
- 字符:一个参数,直接设置,不允许日期溢出,否则会无效的日期,没有设置的部分,为0
```js
var d = new Date("2008.8.8");
var d = new Date("2008/8/8");
var d = new Date("2008-8-8");
var d = new Date("2008,8,8");
var d = new Date("2008 8 8");
var d = new Date("2008.14.8 8:8");
var d = new Date("2008.8.8 8:8");
```
- 数值:多个参数,直接设置,月份从0开始,日期溢出,向前进1,没有设置的部分,为0
```js
var d = new Date(2008,8,8);
var d = new Date(2008,7,8);
var d = new Date(2008,15,8);
var d = new Date(2008,15,8);
var d = new Date(2008,15,8,20,8,8);
```
通过方法设置:繁琐,但可以针对性设置
- 没有设置的部分,采取当前日期,月份从0开始,溢出部分,向前进1
```js
d.setFullYear(2008);
d.setMonth(14);
d.setDate(8);
d.setHours(8);
d.setMinutes(8);
d.setSeconds(8);
d.setMilliseconds(666);
```
- 还可以独立设置时间戳
```js
d.setTime(从1970.....到要设置的日期的毫秒数)
```