BOM对象:浏览器对象模型
所有var定义的属性,都属于window(let和const不是)
定时器(延时函数)
1、能够让代码延迟执行的函数
setTimeout(函数回调,等待毫秒数):仅仅只执行一次,可以理解为将一段代码延迟执行。延时函数需要等待,所以后面的代码先执行
2、清除延时函数
clearTimeout(延时函数名称)
JS执行机制
1、特点:单线程(同一时间只做一件事)
2、同步和异步:执行顺序不同
先执行执行栈中的同步任务,异步任务放入任务队列,一旦执行栈是所有同步任务执行完毕之后,系统会依次顺序读取任务队列里面的异步任务
由于主线程不断地重复获得任务、执行任务、再获取任务、再执行,这种机制被称为事件循环(event loop)
location对象
①location.href='地址'(不需要点击,就能够自动跳转页面)
②loca.search获取地址中携带的参数,(?+后面的内容)
③location.hash获取地址中携带的参数(#+后面的内容)
④location.reload()刷新页面,如果传参数true的话就是强制刷新
navigation对象
检测页面是移动端还是PC端
history对象(用来管理历史记录)
①back()后退功能
②forward()前进功能
③go(参数)如果参数是1前进一个页面,如果是-1那么后退一个页面
本地存储(只能存取字符串,无论存什么都会转变为字符串)
1、数据存储在用户浏览器里面,刷新页面数据不丢失
2、localStorage(将数据永久存储到浏览器中,除非手动删除)以键值对存储
①存:localStorage.setItem('key','value')记得key和value都要引号括起来
localStorage.setItem('uname', 'pink')
②取:localStorage.getItem('属性值')
③删:localStorage.removeItem('属性值')
④改:localStorage.setItem('旧属性值','新值')
3、存取多个数据
复杂数据类型存储必须转换为JSON字符串存储
步骤:先把对象转换为字符串(JSON对象转换),然后将字符串(JSON对象)转成对象
JSON.stringify(obj):将对象转为字符串
JSON.parse():将字符串转为对象
const obj = {
uname: '小明',
age: 18,
gender: '女'
}
localStorage.setItem('obj', JSON.stringify(obj))
console.log(localStorage.getItem('obj'));
console.log(JSON.parse(localStorage.getItem('obj')));
4、字符串拼接新思路:(数组方法)
map()有返回值,不仅可以遍历数组,还可以处理数据
const arr = ['red', 'green', 'bule', 'yellow', 'pink']
//不仅可以遍历数组,还可以处理数据
const newarr = arr.map(function (ele, index) {
console.log(ele);//元素
console.log(index);//下标
return ele + '颜色'
})
console.log(newarr);
join()把数组中所有元素转换为一个字符串
const arr = ['red', 'green', 'bule', 'yellow', 'pink']
console.log(arr.join());//以逗号分隔red,green,bule,yellow,pink
console.log(arr.join(''));//所有字符串连在一起redgreenbuleyellowpink
console.log(arr.join('*'));//用*隔开每一个字符red*green*bule*yellow*pink