js中的内置对象
Posted by xiongmao; tagged with 冒泡排序 , js内置对象 , Math() , 数组内置方法 , 返回数组元素索引号
导读:
内置对象
Math对象
其他搜索地址:https://developer.mozilla.org/zh-CN/
Math 对象不是构造函数,它具有数学常熟的属性和方法,
跟数学相关的运算(求绝对值,最大值,最小值等)可以使用Math中的成员
| Math | 解释 | 
|---|---|
| Math.PI | 圆周率 | 
| Math.floor() | 向上取整 | 
| Math.ceil() | 向下取整 | 
| Math.round() | 四舍五入就近取整 | 
| Math.abs() | 绝对值 | 
| Math.max() | 最大值 | 
| Math.min() | 最小值 | 
| Math.random() | 返回一个随机小数(0 =< x <1) | 
Date()日期对象
Date() 日期对象,是一个构造函数,必须使用new 来调用创建我们的日期对象
- 使用Date  如果没有参数  返回当前系统的当前时间
var date = new Date(); - 参数的常用的写法 数字型 2021,10,01 或者'2019-10-1 8:8:8'
 
其他部分方法
| 方法名 | 说明 | 代码 | 
|---|---|---|
| valueOf()和getTime() | 获取总的毫秒数,不是当前时间,而是从1970年1月1日开始 | :--: | 
| getFullYear() | 获取当年 | dObj.getFullYear() | 
| getMonth() | 获取当月(0-11) 只能返回0-11所以月份必须+1 | dobj.getMonth() | 
| getDate() | 获取当天日期 | dObj.getDate() | 
| getDay() | 获取星期几(周日0到周六6) | dObj.getDay() | 
| getHours() | 获取当前小时 | dObj.getHours() | 
| getMinutes() | 获取当前分钟 | dObj.getMinutes() | 
| getSeconds() | 获取当前秒钟 | dObj.getSeconds() | 
例子格式化日期
  //格式化日期
        var date = new Date();
        console.log(date.getFullYear());// 返回当前日期的年份 2021
        console.log(date.getMonth() + 1 ); // 月份 返回的月份小1个月 所以要+1
        console.log(date.getDate()); //返回的是几号
        console.log(date.getDay);// 周一返回的是1 周六返回的是6,周日返回的是0
        //写一个 2021/12/30  星期五
        var year = date.getFullYear();
        var month = date.getMonth()+1;
        var dates = date.getDate();
        var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
        var day = date.getDate();
        console.log('今天是:' + year + '年' + month + '月' + dates + '日' + arr[day]);时间戳
  获得Date 总的毫秒数(时间戳) 不是当前时间,而是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());数组(方法)
| 方法名 | 说明 | 返回值 | 
|---|---|---|
| push(参数1..) | 在数组的末尾,添加一个或者多个元素 | 返回新的长度 | 
| unshift(参数1..) | 向数组的开头添加一个或者多个数组 | 返回新的长度 | 
| pop() | 删除数组的最后一个元素 | 返回被删除的元素 | 
| shift() | 删除数组的第一个元素 | 返回被删除的元素 | 
| reverse() | 颠倒数组元素的顺序(翻转数组) | 改变原来数组的,返回新数组 | 
| sort() | 对数组的元素进行排序 | 改变原来数组,返回新数组 | 
添加删除数组元素的方法
var arr = [1,2,3];
末尾添加元素
arr.push(4);
console.log(arr.push(5));
输出结果 [1,2,3,4,5];
数组开添加数组元素
console.log(arr.unshift(0,'red'));
删除数组的最后一个元素
console.log(arr.pop());
删除数组的第一个元素
console.log(arr.shift());
检测是否为数组的方法
- 方法1 instanceof 运算符 可以检测是否为数组
 - Array.isArray(); H5新增的方法,ie9以上才支持
 
    <script>
        //翻转数组
        function reverse(arr){
            var newArr = [];
            if(arr instanceof Array){
            for(var i = arr.length - 1; i >=0; i--){
                newArr[newArr.length] = arr[i]
            }
            return newArr;
        }else{
            return 'error 这个参数要求必须为数组'
        }
        }
        console.log(reverse([1,2,3]));
        console.log(reverse(1,2,3));
        //检测是否为数组
        //方法1 instanceof   运算符 它可以用来检测是否为数组
        var  arr = [];
        var obj = {};
        console.log(arr instanceof Array);
        console.log(obj instanceof Array);
        //(2) Array.isArray();  H5新增的方法,  ie9以上才行
        console.log(Array.isArray(arr));
        console.log(Array.isArray(obj));
    </script>数组排序(方法)
冒泡排序 sort();固定写法
var arr1[13,2,1,33,5,4]
arr.sort(function(a,b){
  return a - b; 升序的顺序排序
  return b - a; 降序的顺序排列 
});返回数组元素索引号
返回数组元素索引号
①.indexOf(数组元素) 作用就是返回该数组元素的索引号,从前面开始查找
②.lastIndexOf(数组元素)  从后面开始查找
只返回第一个瞒住条件的索引号
如果在该数组找不到元素,则返回 -1
字符串内置对象(方法)
数组转换为字符串
- toString() 将我们的数组转换为字符串,逗号分割每一项 返回一个字符串
 - join(分隔符) 方法用于把数组中的元素转换为一个字符串 返回一个字符串
 
数组补充,字符串同理
| 方法 | 说明 | 返回值 | 
|---|---|---|
| concat() | 链接两个或多个数组,不影响元素 | 返回一个字符串 | 
| slice() | 数组截取slice(begin,end) | 返回被截取新项目的新数组 | 
| splice() | 数组删除splice(第几个开始,要删除个数) | 返回被删除项目的新数组 | 
基本包装类型
基本数据类型
var str = 'andy';
console.log(str.length);
对象 才有属性和方法  
复杂数据类型才有属性和方法
基本包装类型:就是把简单数组类型 包装称为了 复杂数据类型
(1) 把简单数据类包装为复杂数据类型
(2)执行步骤
 ①.把简单数据类型包装成了复杂数据类型
 var temp  = new String('andy');
 ②.把临时变量的值给str
 str = temp;
 ③销毁这个临时变量
 temp = null;