js内置对象

js内置对象

js内置对象是js自带的一些常用方法,可以直接使用,无需直接手动创建的。
api 可以查询MDN和W3C,MDN比较权威一点。

Math对象不是一个函数对象,没有构造函数,它的属性和方法都是静态的,也就是说可以直接调用
详见:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math
自定义最大和最小值:

 var myMax = {
            PI: 3.144567888,
            max: function(a,b,c){ //可以写上形参变量,也可以不写
                var max = arguments[0];
                for (var i = 1; i < arguments.length; i++) {
                    if (arguments[i] > max) {
                        max = arguments[i];
                    }
                }
                return max;
            },
            min: function() {
                var min = arguments[0];
                for (var i = 1; i < arguments.length;i++) {
                    if (arguments[i] < min) {
                        min = arguments[i];
                    }
                }
                return min;
            },
        };
        console.log(myMax.PI);
        console.log(myMax.max(4,-9,5)); 
        console.log(myMax.min(3,9,6));

	 console.log(Math.abs('-22')); //隐式转换为number
	Math.round(-1.5) //输出-1,round是四舍五入,取值会往大的值取

	得到一个两数之间的随机整数,包括两个数在内
		function getRandomIntInclusive(min, max) {
  	//min = Math.ceil(min);
 	// max = Math.floor(max);
	  return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值 
	}

Date()是以一个构造函数,需要实例化,参数可以是数字也可以是字符串
	var d1 = new Date(2021,12,10); //输出的月份是一月份,月份从0~11计数,0为一月份依次类推
	var d2 = new Date('2021-12-10');
 console.log(d2.getDay()); //周日为0,周一到周六为1~6
 console.log(d2.getMonth());//输出11,要加上1才是当前实际月份,月份从0~11计数
 
 获取距离1970年1月1日的毫秒数:
 	valueOf()  getTime() 这二种方法都需要 new Date()
 	简便写法:var date = +new Date(); 这里在new前面加上+
 	H5新增:Date.now(); //调用此方法可以直接获取毫秒数
 	parseInt(参数);参数是字符串,解析为整数
 	
倒计时函数:
	function countDown(date) {
            var currentDate = +new Date();
            var inputDate = +new Date(date);
            var millisecond = (inputDate - currentDate) / 1000;
            var d = parseInt(millisecond / 60 / 60 /24); //天数
            d = d < 10 ? '0' + d : d;
            var h = parseInt(millisecond /60 / 60 % 24); //时数
            h = h < 10 ? '0' + h : h;
            var m = parseInt(millisecond / 60 % 60); //分钟
            m = m < 10 ? '0' + m : m;
            var s = parseInt(millisecond % 60);  //秒数
            s = s < 10 ? '0' + s : s;
            return d + ' 天 ' + h + ' 时 ' + m + ' 分 ' + s + ' 秒 ';
        }

创建数组:
	new Array(2);	//2表示数组的长度
	new Array(2,3,......);	//2  3表示数组的元素且长度根据元素个数而定
	
判断是否是数组:
	instanceof 关键字
	用法: arr instanceof Array
	另一个为数组本身的方法:Array.isArray(arr); //返回的结果是boolean类型的值

数组的添加:
	push(参数); 在元素的末尾添加一个或多个元素,并且会返回新数组的长度.
	unshift(参数);在元素的开头添加一个或多个元素,并返回新数组的长度

数组的删除:
	pop();删除数组中最后一个元素,且返回删除的元素,该方法没有参数.如果你在一个空数组上调用 pop(),它返回  undefined。
	shift();删除数组的第一个元素,返回删除的元素,该方法没有参数.如果你在一个空数组上调用 pop(),它返回  undefined。

数组的排序:
	reverse();反转数组
	sort();默认元素会按照转换为的字符串的诸个字符的Unicode位点进行排序。sort方法里面要放入比较函数, console.log(arr); //[-3, -76, 0, 3, 76, 99]。默认排序后的结果。
	 arr.sort(function(a,b){
            return a - b;
        });
        console.log(arr); // [-76, -3, 0, 3, 76, 99] //加入比较函数排序后的结果
详见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

查找数组的索引:
	indexOf(数组中的元素); 从前往后查找数组中该元素并返回该元素的索引,没有该元素返回-1。数组中有重复元素,返回第一次查找到的元素所对应的索引。
	lastIndexOf(数组中的元素);从后往前查找数组中该元素并返回该元素的索引,没有该元素返回-1。返回第一次查找到的元素所对应的索引。

去重函数:
	function removeRepetition(arr) {
            //var newArr; //Cannot read properties of undefined 
            var newArr = []; //必须要声明并赋值,因为它是弱类型语言
            for (var i = 0; i < arr.length; i++) {
                if (newArr.indexOf(arr[i]) === -1) {
                    newArr.push(arr[i]);
                }
            }
            return newArr;
        }
        console.log(removeRepetition(['a', 'u', 'd', 'r', 'u', 'd']));
        
把数组转换为字符串的方法:
	toString();
	join(分隔符);join方法可以加入你想要以什么符号来分割数组中的元素。

字符串:
	基本类型包装成复杂类型,拥有了属性和方法
	var str = 'acd'; //基本类型
	str.length; //包装后的类型
	过程如下:
	var temp = new String('acd');
	str = temp
	temp = null
	字符串本身不可变。
		var str = 'asd';
		str = 'acd'; //在内存中开辟新空间存入'acd',并且str指向这个空间。
	
	indexOf('要查找的元素',[从什么位置开始]);[] 代表可选
	var str = '春天来了';
	str.indexOf('来');//返回2,索引从0开始,如果查找不到就返回-1;
	charAt(索引);返回相应的字符
	charCodeAt(索引);返回索引处字符对应的ASCII
	str[索引];返回索引对应的字符

获取字符串中各个字符的数量:
	
	var obj = {};
        var str = 'asdahcadaeas';
        for (var i = 0;i < str.length;i++) {
           var c = str.charAt(i); //根据索引回去字符
            if (obj[c]) { //对象调用属性获取值这里为大于等于1即为true
                obj[c]++; //找到后属性值加1
            } else {
                obj[c] = 1; //对象中没有该属性,就创建并赋值
            }
        }
        console.log(obj); //{a: 5, s: 2, d: 2, h: 1, c: 1, …}
        
concat();拼接字符串
substr(起始位置,取几个字符);
replace(被替换的字符,新的字符); 如果字符串中有重复字符,只替换第一次查找的
split(字符串中的分隔符);把字符串中的字符去掉并转换成数组、join(分隔符)是把数组转换成字符串并用指定的分隔符分开。

	











































































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值