【重学JS】坚持学习,巩固基础-day9-封装函数

330 阅读3分钟

这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战

☆☆☆ 今天的内容(使用函数 实现具体功能) 重要!! 也是最最基本能力要求! ☆☆☆

可作为初学者的学习路线, 可参考一下, 学习进度也不是特别赶! 持续更新,

用自己的理解, 简单又全面概括基础知识点, 大部分内容为白话文内容, 基础中的基础 方便加深理解!

巩固学习 JavaScript 基础知识, 加深理解记忆, 打牢地基才能筑高楼! 加油

如需更详细了解学习- 推荐查看 MDN-JavaScript 文档, (红宝书/白皮书/蓝皮书/..)进行学习进阶!

更多阅读: 前文更新回顾

【重学 JS】每天学习巩固基础: 【day1】

【day2】【day3】【day4】【day5】【day6】【day7】【day8】

☆☆☆ 今天的内容比较重要, 也是工作中最基本能力要求! ☆☆☆

开始今天的学习吧! 认真对待每一天!!

1、梳理昨天学习知识点

  • 数组去重 :

  • 方案二 : 数组先排好序    1  1  1   33   33    55     66   100

    如果前一个数 != 后一个数   就将前一个数存入到数组中  1   33   55 66   100

for (var i = 0; i < arr.length; i++) {
  if (arr[i] != arr[i + 1]) {
    brr.push(arr[i])
  }
}
  • 排序:   冒泡排序法       选择排序法
sort(function (a, b) {
  return a - b
})
  • 数组新增方法 : forEach indexOf   map   filter     reduce

  • string 对象 :

    • charAt()   charCodeAt    String.fromCharCode
    • indexOf   lastIndexOf
    • substr substring
    • split
    • replace
    • trim
    • toLowerCase

2、Math 对象     数学对象

注意Math 对象 不需要定义   直接通过 Math. 方式   调用方法

2.1 取整的三个方法 : 

  • Math.floor(m)   向下取整   Math.floor( 4.9 ) 4  Math.floor( -4.9 )  -5     得到比 m 小的最大整数

  • Math.ceil(m)   向上取整   Math.ceil(4.3)    5  Math.ceil(-4.3) -4     得到比 m 大的最小整数

  • Math.round(m)   四舍五入  Math.round(4.5)  5

  • Math.abs(m) 取绝对值

  • Math.pow(m,n) 获取 m 的 n 次方

  • Math.sqrt(m)   取开方

  • Math.max(多个数) 取最大值

  • Math.min() 最小值

  • Math.min.apply(null , [ ])   获取数组的最小值

  • Math.max.apply(null , [ ])   获取数组的最大值

  • Math.random()   获取  [0,1)   之间的随机小数

获取任意区间值公式 : 

Math.round(Math.random() * (max - min) + min)

封装功能函数:

定义一个函数 获取任意区间值数据:

function rand(min,max){
  return  Math.round( Math.random()_(max-min) + min )
}

3、Date 对象

定义:

var d = new Date();   获取当前的系统时间

  • toLocaleString()   将日期转成本地时间格式
  • getFullYear()   获取年
  • getMonth()   月   获取 0--11   使用  d.getMonth() + 1
  • getDate()     日
  • getHours()   小时
  • getMinutes()   分
  • getSeconds()   秒
  • getDay()   星期     获取 0--6     0 表示星期日

4、写一个函数 功能  dateToString()

4.1 函数功能 : 显示自定义的日期时间格式

function dateToString(now) {
  var str1 = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate()
  var h = toTwo(now.getHours())
  var m = toTwo(now.getMinutes())
  var s = toTwo(now.getSeconds())

  var str2 = h + ':' + m + ':' + s

  return str1 + '' + str2
}

4.2 函数功能 :  以 0 补位

函数功能: 判断传递的参数是否小于 10  如果小于 10 就在数字前面拼接 0

function toTwo(num) {
  //返回一个两位数
  return num < 10 ? '0' + num : num
}

5、自定义时间格式

没有时分秒   默认是早上 8 点

var d = new Date('1998-09-09')

6、写一个函数: stringToDate()  

函数功能: 将字符串转成日期

function stringToDate(str) {
  return new Date(str)
}

7、时间差: getTime()  

函数功能: 返回从 1970.1.1 午夜 到 now 这个时间的毫秒值

时间差 函数

function diff(start, end) {
  //返回时间差 单位 秒
  return Math.abs(start.getTime() - end.getTime()) / 1000
}

8、设置时间  setDate()

设置 几天后的时间

setDate()   用法: 日期对象.setDate( 当前的日期 + 天数 )  setDate() 方法改变

原来日 期对象的结果

例如 :

var now = new Date() //设置 9 天后的时间
now.setDate(now.getDate() + 9)
alert(now)

setTime() 用法 :

日期对象.setTime( 当前日期毫秒值 + 天数 * 1000 * 3600 * 24 )

9、定时器 setInterval

  • 定义:
var timer = setInterval(要执行的任务, 间隔时间) // 时间默认 :毫秒

一般   要执行的任务 是一个功能函数

  • 清除定时器:

clearInterval(定时器名称);


加油, 追梦人

学习就是一个不断进行的过程, 坚持下去, 定有收获!

日积月累, 巩固基础, 早进大厂!

坚持很不容易, 坚持下来更不容易, 你真棒!

Calm Down & Carry On!