前端day21--JS(Window对象,本地存储,数组的map()和join()方法)

目录

Window对象:

BOM--浏览器对象模型

定时器--延时函数setTimeout(函数名,毫秒数)

JS执行机制

​编辑​编辑

​编辑

事件循环:

​编辑

属性→location对象

href属性:

search属性:

hash属性:

reload()方法:

属性→navigator对象

userAgent属性:

属性→history对象

本地存储:

什么是本地存储:

本地存储的分类:

localStorage对象:

setItem属性存储数据:

getItem属性获得数据:

sessiStorage对象(简单了解):

本地存储复杂数据类型:

arr.map():

arr.join():

arr.forEach():

arr.filter():


Window对象:

BOM--浏览器对象模型

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第1张图片

定时器--延时函数setTimeout(函数名,毫秒数)

延时函数 只执行一次。

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第2张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第3张图片

JS执行机制

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第4张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第5张图片前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第6张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第7张图片

事件循环:

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第8张图片

属性→location对象

href属性:

保存了当前浏览器地址,是可读写属性,若写,则执行该代码浏览器会进行跳转。

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第9张图片

search属性:

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第10张图片

使用,例如在form表单中若表单标签有name则点提交后会有地址

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第11张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第12张图片

hash属性:

页面不需要跳转可以切换的效果,是通过地址的#号后面来进行操作的

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第13张图片

reload()方法:

location.reload() →刷新页面

location.reload(true)→强制刷新页面

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第14张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第15张图片

属性→navigator对象

记录浏览器自身的相关信。

userAgent属性:

通过该属性检测浏览器的版本及平台使得如果满足条件,可以跳转站点

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第16张图片

// 检测 userAgent(浏览器信息)
        !(function () {
            const userAgent = navigator.userAgent
             // 验证是否为Android或iPhone
            const android = userAgent.match(/(Android);?[\s\/]+([\d.]+)?/)
            const iphone = userAgent.match(/(iPhone\sOS)\s([\d_]+)/)
             // 如果是Android或iPhone,则跳转至移动站点
            if (android || iphone) {
                location.href = 'http://m.itcast.cn'
            }
        })()

属性→history对象

管理浏览器的历史记录。history 对浏览器的记忆功能。

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第17张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第18张图片

本地存储:

什么是本地存储:

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第19张图片

本地存储的分类:

localStorage对象:

localStorage 存储的数据关闭浏览器后不会消失。

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第20张图片

setItem属性存储数据:
getItem属性获得数据:

针对简单数据类型,其中的键值对都要加引号。

本地存储只能存储字符串!(通过getItem获得后由typeof可知其为字符串)

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第21张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第22张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第23张图片

sessiStorage对象(简单了解):

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第24张图片

本地存储复杂数据类型:

复杂数据类型存储必须转换为JSON字符串存储,否则返回的也只是字符串。

而通过JSON字符串存储,取出来时也可由JSON来解析,进而取出来时为对应的数据类型。

本地存取复杂数据类型分两步,因为其要存储到本地只能存字符串:

第一步:JSON.stringify()

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第25张图片

第二步:JSON.parse()

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第26张图片

arr.map():

①遍历数组处理数据

②返回新数组
数组→数组。

语法:

arr.map(function(ele,index){
// 其中ele表示arr中的元素,index表示数组索引号
// 这里写需要执行的代码,则会遍历数组执行

}) 
let b = function(ele,index) {}
app : function (b) {
for (let i = 0; i

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第27张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第28张图片

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第29张图片

arr.join():

①把数组中的所有元素转换为一个字符串

②字符串之间可以由()中元素隔开。小括号为空则默认逗号分隔。

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第30张图片前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第31张图片

arr.forEach():

map是既遍历又返回数组,forEach只遍历不返回值。

但二者语法一致。

前端day21--JS(Window对象,本地存储,数组的map()和join()方法)_第32张图片

arr.filter():

filter方法与map同,可遍历数组和返回一个新数组。

但map方法逻辑语为+-号,而filter方法逻辑语为比较运算符,返回的是符合判断条件的新数组

你可能感兴趣的:(前端学习,javascript,开发语言,ecmascript)