Js第四天笔记(内置对象)

Js几种常见的内置对象(Math,Date,String,Arr)

我们学习内置对象主要是学习其常用的几种方法,便于我们以后开发中使用

所以此片博文主要是总结一些内置对象的常用方法

Part1.Math对象

Math.PI						// 圆周率
Math.floor() 	              // 向下取整
Math.ceil()                   // 向上取整
Math.round()				// 四舍五入版 就近取整   注意 -3.5   结果是  -3 
Math.abs()					// 绝对值
Math.max()/Math.min()		 // 求最大和最小值
Math.sin()/Math.cos()		 // 正弦/余弦
Math.power()/Math.sqrt()	 // 求指数次幂/求平方根

*生成随机数

Math.random();			//生成[0,1)之间的随机数

由于生成随机数取不到1,所以很多时候我们需要结合一定的方法来取某个区间的随机数

function getRandom(min, max) {
    //需求是返回这个区间的整数,所以是向下取整,包括[min,max]
   return Math.floor(Math.random() * (max - min + 1) + min);
}
console.log(getRandom(10, 20))

Part2.Date对象

获取当前时间
        //获取当前时间
        var time = new Date()
        console.log(time); //Wed Oct 14 2020 18:59:00 GMT+0800 (中国标准时间) 

时间的比较

说明:Date()表示距离1970/1/1的毫秒数,所以两个时间戳比较的时候返回的是他们的毫秒数之差

        var time1 = new Date('2020 / 9 / 13')
        var time2 = new Date('2020 / 9 / 14')
        console.log(time2 - time1); //86400000
时间的格式化

时间格式化就是让时间戳以特定的格式返回

根据这样的需求我们可以用到一些封装好的方法,直接返回我们需要的诸如年份月份等信息

方法名说明代码
getFullYear()获取年份dObj.getFullYear()
getMonth()获取月份(0-11)dObj.getMonth()
getDate()获取当天日期dObj.getDate()
getDay()获取星期数(周日0——周六6) *MonDay,FriDay 所以day就是获取星期数dObj.getDay()
getHours()获取小时dObj.getHours()
getMinutes()获取分钟dObj.getMinutes()
getSenconds()获取秒钟dObj.getSenconds()
 var time = new Date()
        var y = time.getFullYear()
        var m = time.getMonth() + 1
        var d = time.getDate()
        var h = time.getHours()
        var min = time.getMinutes()
        var s = time.getSeconds()
            // 获取星期
        var w = time.getDay() + 1

        // min.tostring()
        // 三元表达式格式 分 秒
        s < 10 ? s = '0' + s : s
        console.log('今天是' + y + '年' + m + '月' + d + '号' + h + '点' + min + '分' + s + '秒' + '星期' + w)
倒计时

注意计算剩余的天数,小时和分钟的计算方法

        // 倒计时

        function fn(time) {
            var now = new Date()
            var fu = new Date(time)
            var down = fu - now
            console.log(time + '还差' + parseInt((down / 1000 / 60 / 60 / 24)) + '天' + parseInt((down / 1000 / 60 / 60 % 24)) + '小时' + parseInt((down / 1000 / 60 % 60)) + '分' + parseInt((down / 1000 % 60)) + '秒')
        }
        fn('2021/1/1 0:30') //2021/1/1 0:30还差77天4小时48分50秒

Part3.Arr对象和String对象

因为Arr对象和String对象都是存放一批数据的集合,所以他们都封装有对于数据处理的相同方法。比如,截取一定长度的子元素,查询对象中是否存在某个元素,拼接,索引等等

针对其共性有下表

StringArr
索引访问CharAt(index) [ ]下标索引 CharCodeAt(index) 返回index处的值的ASCII码[ ]下标索引
拼接concat(str1,str2…) str1.concat(str2,str3…)concat(arr1,arr2…) 同左
截取一定长度的子元素substr(star,length) 从star处截取,截取长度为length的子元素splice(star,length) 截取操作会改变原来的数组,此时输出原来的数组则会返回截取后的数组
提取一个区间的子元素slice(star,end) 提取取[star,end)这个区间的子元素
substring(star,end) 和slice一样但是不能接收负值,也就是不能反向索引
slice(star,end) 提取处新的元素组成的数组
查询是否存在某个元素string.indexOf(str,star) 如果不存在就返回-1arr.indexOf(item,star) 如果不存在就返回-1
转换split(‘分隔符’) 以分隔符切割,返回切割后片段组成的数组join(‘链接符’) 以链接符链接,返回链接的字符串

String的特有方法

replace

replace() 方法用于在字符串中用一些字符替换另一些字符

格式如下:

replace(被替换的字符串, 要替换为的字符串);

  • 把字符串中所有的o替换成!
var s = 'abcoefoxyozzopp';
while (s.indexOf('o') !== -1) {
    s = s.replace('o', '!');
}
console.log(s);
转换大小写

toUpperCase() //转换大写
toLowerCase() //转换小写

var str = 'ANDY';
console.log(str.toLowerCase()); // andy
var str = 'andy';
console.log(str.toUpperCase()); // ANDY
String应用

查找出某个字符重复的位置

        var msg = 'abcdafff'
		var index = msg.indexOf('a')
        for (i in msg) {
            // 第一次出现的位置
            index = msg.indexOf('a', index)
            if (index != -1) {
                // 如果找到了就输出他的位置,另外index进入下一个索引
                console.log(index);
                index += 1 //*****
            } 
            //如果找不到就跳出遍历
            else {
                break;
            }
        }
		//0 4
        

Arr的特有方法(push,pop,shift,unshift)

方法名说明返回值
push(参数1…)修改原数组,末尾添加一个或多个元素并返回新的长度
pop()删除 数组的最后一个元素,把数组长度减 1 无参数返回它删除的元素的值
unshift(参数1…)向数组的开头添加一个或更多元素并返回新的长度
shift()把数组的第一个元素从其中删除,把数组长度减 1 无参数并返回第一个元素的值
// push
var arr = ['pink', 'deeppink', 'hotpink'];
console.log(arr.push('lightpink')); //  返回数组长度  4
console.log(arr); //  ['pink', 'deeppink', 'hotpink', 'linghtpink']

// pop
var arr = ['pink', 'deeppink', 'hotpink'];
console.log(arr.pop()); // 返回删除的那1个元素  'hotpink'
console.log(arr); // 返回删除的那1个元素  ["pink", "deeppink"]

// unshift
var arr = ['pink', 'deeppink', 'hotpink'];
console.log(arr.unshift('lightpink')); //  返回数组长度  4
console.log(arr); //  ['linghtpink','pink', 'deeppink', 'hotpink']

// shift 
var arr = ['pink', 'deeppink', 'hotpink'];
console.log(arr.shift()); // 返回删除的那1个元素  'pink'
console.log(arr); // 返回删除的那1个元素  ["deeppink", "hotpink"]
数组排序和反转
方法名说明是否修改原数组
reverse()颠倒数组中元素的顺序,无参数该方法会改变原来的数组
sort()对数组的元素进行排序该方法会改变原来的数组
revserse()
// reverse 
var arr = ['red', 'andy'];
console.log(arr.reverse()); // 返回翻转之后的数组
console.log(arr); // 原先数组也被修改
sort()
var arr = [1,2,5,7,4,27]
conlose.log(arr.sort(function(a,b){return a-b}))   //升序排列
conlose.log(arr.sort(function(a,b){return b-a}))   //降序排列
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值