美文网首页吃饭用的前端
JS语法基础(六)之内置对象

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

作者: CNLISIYIII | 来源:发表于2019-04-04 15:26 被阅读0次

    系统提供的对象, 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语法基础(六)之内置对象

        本文链接:https://www.haomeiwen.com/subject/erhmbqtx.html