写点什么

JavaScript 中的这些内置对象

作者:前端史塔克
  • 2021 年 12 月 06 日
  • 本文字数:2253 字

    阅读完需:约 7 分钟

JavaScript中的这些内置对象

回顾

上一篇中我们说了 js 中的作用域和预解析,感受了 js 发展的过程中一些特有的声明和语言文化,js 在运行的时候也是按照预解析的顺序来运行的,所以会出现某些语句声明不恰当报错的行为。每门语言的诞生和发展同样也绕不开它当下所诞生的背景和时代发展的历程,需要慢慢理解它和适应它


这一篇中我们要说一说 js 中的内置对象,语言也是非常智能的,它同样会将常用的方法封装在自己本身可供使用者直接去调用,所以就产生了内置的一些对象,这些对象不妨有数组的对象、字符串对象。我们这一讲就先来聊一聊 js 内置对象常用的 Math 对象和日期对象

内置对象

在 js 中对象一般分为三种:自定义对象、内置对象、浏览器对象,这三种是语言上的内置对象,或者是浏览器自己技术上封装了对象可供使用者去调用。同样值得我们庆幸的是 js 自己内部封装了很多内置对象,例如:Math、Data、Array、String 等这些都有特定的处理方法,我们就不需要再额外的添加类似的方法。

查询文档

虽然 js 本身或者浏览器本身已经提供相当多的方法可供用户去使用,但是这么多的方法我们是不可能过目不忘,这么快全部记住的。当然也不需要我们全部记住,授人以鱼不如授人以渔,只要大概有一个印象,使用的时候去相关文档去查找就好了,这也是一个前端人或者程序员必备的技能之一:查询文档。MDN 是一个比较完善的文档,所以也建议你遇到不会的尝试查查文档从中获取知识 MDN学习文档

Math 对象

Math 对象:是一个数学对象,这个对象中包含了常用的一些数学的逻辑处理。这个对象不是一个构造函数,不需要 new 调用,而是直接使用里面的属性和方法即可


Math 概述


  • Math.PI:圆周率

  • Math.floor():向下取整

  • Math.ceil():向上取整

  • Math.round():四舍五入,就近取整。注意:-3.5 结果为:-3

  • Math.abs():绝对值

  • Math.max():求最大值

  • Math.min():求最小值


// 圆周率console.log(Math.PI)  // 3.141592653589793
// Math.floor():向下取整console.log(Math.floor(1.7)) // 1
// Math.ceil():向上取整console.log(Math.floor(1.2)) // 1
// Math.round():四舍五入,就近取整。注意:-3.5 结果为:-3console.log(Math.round(-3.5)) // -3
// Math.abs():绝对值console.log(Math.abs(-2)) // 2
// Math.max的最大值console.log(Math.max(1, 2, 3, 99)) // 输出 99
// Math.max的最大值console.log(Math.min(-1, 99, -2)) // 输出 -2
复制代码



随机数(random):在 Math 中还有一个特别常用的内置方法就是随机数:Math.random(),这个对象在往后的工作中也会十分的常用,需要记住。不过需要注意的是 Math.random 返回的是小数。


我们可以想办法让它变成随机返回的是整数,或者写一个点名的小 demo,这个可以下去自己想一想,在编辑器中自己动手做一做。


// Math.random()console.log(Math.random())  // 0.xxxxxxxxxxx
// Math.random 随机数console.log(Math.floor(Math.random() * 10));
// 得到两个数之间的随机整数function random (max, min) { return Math.floor(Math.random() * (max - min) + min)}console.log(random(50, 1));
// demovar arr = ['张飞', '赵云', '黄忠', '关羽', '马超']console.log(arr[random(0, arr.length - 1)]);
复制代码



日期对象

日期也是十分常用的方法之一,但是在 js 中日期是一个构造函数,必须使用 new 来调用。当然除此之外日期对象也是从当前日期到年份,月份时分秒等应有尽有,js 还是很贴心的。


日期格式化(日期是构造函数需要 new 调用)


  • var date = new Date()

  • date.getFullYear():获取当前年份

  • date.getMonth():获取当月(0~11)

  • date.getDate():获取当天日期

  • date.getDay():获取星期几(周日 0 周六 6)


// 因为日期是一个构造函数,需要newvar date = new Date();
// 写一个 2021年11月24日星期三var year = date.getFullYear();var month = date.getMonth() + 1;var day = date.getDate();
var weekEdit = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']var week = weekEdit[date.getDay()]
console.log('今天是:' + year + '年' + month + '月' + day + '日' + '星期:' + week)
复制代码



  • date.getHours():获取当前小时

  • date.getMinutes():获取当前分钟

  • date.getSeconds():获取当前秒

  • date.valueOf():获取时间戳(现在时间距离 1970 年 1 月 1 日过去了多少毫秒)

  • date.getTime():和 date.valueOf() 一样


// 获取当前时间的时分秒var time = new Date()
// 利用三元表达式 补 0s < 10 ? '0' + s : s
var s = time.getHours()var m = time.getMinutes()var d = time.getSeconds()
d = d < 10 ? '0' + d : d
console.log('当前时间:'+ s + ':' + m + ':' + d)
复制代码



倒计时案例


可以使用日期对象做一个倒计时案例,现在做的这个倒计时案例是不会实时去改变的,可以自己想一想为什么不会实时响应。在我们下一大章节聊 WebAPI 的时候再来让它实时变化秒数


// 倒计时案例function time (outTime) {  var oldTime = +new Date()  var newTime = +new Date(outTime)    // 返回的是毫秒数   1秒 = 1000毫秒  var sTime = (newTime - oldTime) / 1000  var d = parseInt(sTime / 60 / 60 / 24)  var h = parseInt(sTime / 60 / 60 % 24)  var m = parseInt(sTime / 60 % 60)  var s = parseInt(sTime % 60)
return d + '天' + h + '小时' + m + '分' + s + '秒' }
console.log(time ('2021-12-03 00:00:00')); // 0天0小时56分59秒
复制代码



好了,今天的 js 的这些常用的内置对象我们就聊完了,有什么问题欢迎随时留言~

发布于: 2021 年 12 月 06 日阅读数: 14
用户头像

还未添加个人签名 2019.09.04 加入

普及从学校到工作怎么快速转变,更高效学习前端知识及后续发展趋向,更好快速的融入到工作中 关注公号:前端史塔克

评论

发布
暂无评论
JavaScript中的这些内置对象