替换违禁词
var str = '66661234666612347771234777'
var arr = ['6666', '777']
// 1.for循环
for (var i = 0
while (str.includes(arr[i])) {
str = str.replace(arr[i], '****')
}
}
console.log(str)
// 2.遍历数组
arr.forEach(function (item) {
while (str.includes(item)) {
str = str.replace(item, '****')
}
})
console.log(str)
查询字符串
var str = 'name=wy;age=18;abc=123'
//将查询字符串转换为对象格式
obj === {
username: 'wy',
age: 18,
abc: 123
}
分析:1. 拿到 字符串中 所有的 key
2. 拿到 字符串中 所有key 对应的 value
逻辑:1. 将字符串分隔为 key=value (分隔完应该有 3 个)
2. 拿到每一个key 添加到对象中, 并且给值赋值为 对应的 value
var obj = {}
var arr = str.split(';')
arr.forEach(function (item) {
var newArr = item.split('=')
// var key = newArr[0]
// var value = newArr[1]
// obj[key] = value
obj[newArr[0]] = newArr[1]
})
console.log(obj)
数字的方法
1. random
语法: Math.random()
作用: 得到一个0~1之间的随机数, 包含0,不包含1
var num = Math.random()
console.log(num)
2. round
语法: Math.round()
作用: 将数据 四舍五入取整
var num1 = Math.round(1.5)
console.log(num1)
3. ceil
语法: Math.ceil()
作用: 将数据 向上取整
var num2 = Math.ceil(1.000000001)
console.log(num2)
4. floor
语法: Matn.floor()
作用: 将数据 向下取整
var num3 = Math.floor(1.9999999999)
console.log(num3)
5. abs
语法: Math.abs()
作用: 取数据的绝对值
var num4 = Math.abs(-10)
console.log(num4)
6. sqrt
语法: Math.sqrt()
作用: 求平方根
var num = Math.sqrt(15)
console.log(num)
7. pow
语法: Math.pow(基数, 幂)
作用: 求一个基数的 X 次幂
var num1 = Math.pow(4, 4)
console.log(num1)
8. max
语法: Math.max(数据1, 数据2, 数据3, ...)
作用: 求参数中 的 最大值
var num2 = Math.max(100, 50, 200, 600, 300, 150)
console.log(num2)
9. min
语法: Math.min(数据1, 数据2, 数据3, ...)
作用: 求参数中 的 最小值
var num3 = Math.min(100, 50, 200, 600, 300, 150)
console.log(num3)
10. PI
语法: Math.PI
作用: 求圆周率
var num4 = Math.PI
console.log(num4)
两种定时器的介绍和作用 ( setTimeout / setInterval )
计时器 (setInterval)
语法: setInterval(function(){每次执行定时器时要做的事}, 时间) 时间的单位是毫秒
返回值: (时间ID) ---> 值取决于你当前的定时器是这个页面的第几个定时器, 返回值可以用于关闭定时器
关闭定时器: clearInterval(时间ID)
倒计时器 (setTimeout)
语法 setTimeout(function () {倒计时时间满足时, 要执行的一段代码}, 时间) 时间的单位是毫秒
返回值: (时间ID) ---> 值取决于你当前的定时器是这个页面的第几个定时器, 返回值可以用于关闭定时器
关闭倒计时器: clearTimeout(时间ID)
关闭定时器: clearInterval 和 clearTimeout
正常来说 两个方法可以混用, 不会出错,
但是根据语义来说 clearTimeout 用于关闭 setTimeout; clearInterval 用于关闭 setInterval
简单的代码异步执行机制
简单了解异步代码
JS 的运行 是单线程的(执行代码从第一行开始,往下执行, 上一行不结束, 不会运行下一行代码)
但是万一上一行代码比较耗时(5S), 那么我下一行代码就需要等待5S
但是JS也分为 异步任务(两个定时器)与同步任务
JS 在运行的时候, 会按照从上到下的顺序执行代码, 但是会先把所有的同步任务先执行, 等所有的同步任务执行完毕, 在执行异步任务
console.log('start')
setTimeout(function () {
console.log('timeout_start')
setTimeout(function () {
console.log('QF666')
}, 0)
console.log('timeout_end')
}, 0)
console.log('end')