JS语法基础(六)之内置对象

系统提供的对象, Object Array Math Date等

宿主对象(浏览器宿主,Node宿主软件)

浏览器中提供的对象。Js运行环境提供等对象。比如 Bom中的window,Dom中的document。


(一)Math对象

Math本身是一个对象,不是构造函数。

//属性

console.log(Math.PI);

//方法

var a = Math.abs(-100);  //绝对值

- Math.abs(数字); 获取一个数字的绝对值

- Math.round(数字);  四舍五入

- Math.PI;    π

- Math.ceil(数字);    向上取整

- Math.floor(数字);  向下取整

- Math.random();    随机数[0,1);

- Math.max(数字,数字,数字...);    求最大数

- Math.min(数字,数字,数字...);    求最小数

(二)Date对象

Date和Math不同,是一个系统内置的构造函数。是JS提供的日期和时间的操作接口。

可以表示1970年1月1日前后各1亿天。

1)创建日期对象

创建当前时间

new date = new Date();  //输出星期 月份 日期 年份 小时:分钟:秒 时区

console.log(date);  //默认调用了toString(),得到的是字符串。

console.dir(date);  //可以打印对象,得到的是对象。

创建其他时间

new date = new Date('2019/10/10 12:12:12');

//或new date = new Date('2019-10-10 12:12:12');

时间戳:是数字。从1970年到某个时间的总毫秒值

var date = new Date(9999999999);

console.dir(date);

传入多个参数

这种方式中的月份从0开始,即0到11。

var date = new Date(2019,3,4,12,12,12,500);

console.dir(date); //打印2019年4月4日12:12:12

2)操作日期对象

var date = new Date();  //创建一个日期对象

//获取

var year = date.getFullYear(); //获取年份

var month = date.getMonth(); //获取月份。月份从0开始,打印出当前月份-1

var day = date.getDate(); //获取日期

var week = date.getDay(); //获取星期。返回星期数,数字范围为0(周日)到6(周六)

var hours = date.getHours(); //获取小时

var minutes = date.getMinutes(); //获取分钟

var seconds = date.getSeconds(); //获取秒

var milliSeconds = date.getMilliSeconds(); //获取毫秒

var time = date.getTime(); //获取从1970年到某日的时间戳

//设置

date.setMonth(4);  //日期改变成5月

date.setMonth(12);  //日期改变成下一年的1月。数字没有范围,年份会自动变化

date.setMonth(-1);  //日期改变成上一年的12月。

代码举栗:

//封装一个函数,实现格式化日期。

function blockDate(date) {

// var date = new Date(); //获取当前时间

var year = date.getFullYear();

var month = date.getMonth() + 1;

month = month < 10?'0' + month:month;

var day = date.getDate();

day = day < 10?'0' + day:day;

var hours = date.getHours();

hours = hours < 10?'0' + hours:hours;

var minutes = date.getMinutes();

minutes = minutes < 10?'0' + minutes:minutes;

var seconds = date.getSeconds();

seconds = seconds < 10?'0' + seconds:seconds;

var dateStr = (year + '年' + month + '月' + date + '日 ' + hours + '点' + minutes + '分' + seconds + '秒');

return dateStr;

}

var time = new Date(); //当前时间

var time = new Date(2019,3,4,12,12,12); //指定时间

var r = blockDate(time);

document.write(r);

(三)数组对象

在js中数组是一个特殊对象:数组中数据的键名(即下标或索引)是一组从0开始的有序的数字。

var arr = new Array(11,22,33,44,55);

console.log(arr);

1)向数组前后添加数据

var arr = ['张三','李四'];

arr.unshift('小明','小黄');  //在数组最前面添加元素

arr.push('王五','赵六');  //在数组末尾添加元素

//var len = arr.push('王五','赵六');

//console.log(len);  //可以返回添加后的数组长度。

2)删除数组前后数据

var arr = ['张三','李四','王五','赵六'];

arr.pop();  //不需要传参数,删除数组最后一个元素

arr.shift();  //删除数组的第一个元素

//var r = arr.pop(); 

//console.log(arr);  //返回删除掉的最后一个元素

3)删除任意位置的数据

数组名.splice(index,howmany,item1,...,itemn);

index:从数组的什么位置开始删

howmany:删几个

item:添加的其他数据

var arr = ['张三','李四','王五','赵六'];

arr.splice(1,1); //删掉了李四

//arr.splice(1,1,lisi); //将李四替换成了lisi

//arr.splice(1,0,'小明','小白');  //在李四前面添加了小明和小白

console.log(arr);

4)数组元素的查询

数组名.indexOf(searchElement,index);

index:表示从数组的什么位置开始查找

var arr = ['张三','李四','张三','王五','张三','赵六'];  //0,2,4

var index = arr.indexOf('张三');  //返回张三在数组中的位置

//从前往后找,如果数组中有两个张三,返回第一个张三的位置。

var index = arr.indexOf('张三',2); //返回2

//var index = arr.lastIndexOf('张三'); //返回最后一个张三的位置

//若查找的数据不存在,返回-1

//var index = arr.indexOf('陈七');

console.log(index);

5)反转和排序

反转:arr.reverse();

排序:arr.sort();  //默认按照Unicode编码排序,所以11会排在6前面

arr.sort(function(a,b)) {

//a和b代表数组中相邻的两个数字

return a-b; //从小到大排列。

//return b-a; //从大到小排列。

}

6)截取和拼接

截取:arr.slice(start,end);

var arr = ['张三','李四','张三','王五','赵六'];

var r = arr.slice();  //表示截取全部

var r = arr.slice(2);  //表示从指定位置向后截取所有。结果'张三','王五','赵六'

var r = arr.slice(1,3);  //从指定位置向后截取到结束的位置,包括1但是不包括3

拼接:

var arr = ['张三','李四','王五','赵六'];

//var str = arr.join();  //默认用,连接

//var str = arr.join('-');  //用-连接

7)清空数组

var arr = [22,33,44,55];

// 方式1 推荐

arr = [];

// 方式2

arr.length = 0;

// 方式3

arr.splice(0, arr.length);

(四)String对象

字符串在内存中占据的大小由字符串的长度决定,字符串在重新赋值时,字符串的长度可能会发生改变。

在内存中原有的数据不会被更改,而是开辟新的空间,存放重新赋值后的数据。原有的数据会在某一时刻被浏览器回收。

要避免大量的字符串拼接,因为字符串由不可变性,在重新开辟空间时会耗时。

1)获取字符串中的单个字符

字符串.charAt(index);

字符串[index];// 推荐使用

2)字符串的拼接和截取

// 拼接

字符串.concat(str1,str2,str3...);

拼接符+//推荐使用​

// 截取

字符串.slice(star,end);

3)查询字符是否在字符串中存在

字符串.indexOf();

字符串.lastIndexOf();

4)去除空白符

字符串.trim();// 去除字符串两边的空格

5)字母字符大小写转换

字符串.toUpperCase(); // 转换大写 

字符串.toLowerCase(); // 转换小写 

6)字符串替换

字符串.replace(newStr,oldStr);

7)字符串分割

字符串.split(sp);// 把一个字符串分割成字符串数组。

你可能感兴趣的:(JS语法基础(六)之内置对象)