08 BOM

【keras】走近VGG16卷积神经网络         VGG16是一个16层的卷积神经网络模型,输入数据的维度为224*224*3,即长宽均为224像素的RGB彩色图片,VGG16模型的权重由ImageNet训练而来。由于其具有简单实用的优点,因此,在图像分类和目标检测任务中得到了较为广泛的应用。 1.卷积神经网络的基本概念 1.1卷积         简单的将其理解为一种数学运算,具体的计算过程如下图所示:       ... 阅读详情

08 BOM

BOM概述

BOM全称 (browser object model) 浏览器对象模型,主要用操作浏览器相关的内容(调用浏览器相关的功能及获取浏览器携带的内容),BOM是JavaScript的重要组成,但是他缺少规范,所以他是通过共有对象来解决没有规范的问题。(前面BOM相关的内容没有融入w3c 导致他有兼容问题)。ie的bom对象里面的相关参数及方法是最多的,由于是共有对象所以这些参数都被其他浏览器采用了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NlVwEjoX-1677755447723)(D:\作业\培训\笔记\笔记图片\BOM(浏览器对象模型)].png)

BOM的共有对象
  • window 窗口对象(浏览器的global对象)
  • location 地址栏对象
  • history 历史对象
  • navigator 导航对象(浏览器信息对象)
  • screen 屏幕对象 (适配)
  • frames 框架对象 (其实也是个window)
  • document 文档对象

window

概述:

window窗口对象,他是浏览器的global对象,他包含所有的全局变量。

属性
  • caches 返回一个缓存对象 CacheStorage

  • closed 是否关闭(默认值为false)

  • cookieStore 存储cookie的空间

  • crossOriginIsolated cors设置(跨域设置)

  • innerHeight 窗口可操作区域的高度
  • innerWidth 窗口可操作区域的宽度
  • indexedDB 浏览器内置数据库对象

  • localStorage 本地存储

  • sessionStorage 他是session生命周期本地存储

  • chrome 谷歌内核的属性

  • console 控制台

  • scrollX 滚动栏的坐标 scrollY 滚动栏的坐标

其他的所有对象都是window对象的属性 window可以被省略

方法
打印方法(控制台打印方法)
// 控制台打印方法
console.log('日志打印') //日志打印
console.error('错误打印') //错误打印
console.warn('警告打印') //警告打印
console.info('信息打印') //信息打印
console.debug('调试打印') //调试打印
console.group('分组打印') //分组打印
console.table('表格打印') //表格打印
弹框方法
  • alert 弹信息框 没有返回值
  • prompt 弹输入框 有返回值返回值为输入的内容 (string)
  • confirm 弹选择框 有返回值 返回为boolean类型
//弹窗
console.log(alert('hello'))
console.log(prompt('请输入内容'))
console.log(confirm('请问你是否是单身贵族'))
打开窗口的方法 open
document.getElementById('openBtn').onclick = function(){
    //打开的url路径地址  打开的方式(a标签的target一致)  打开时的配置(使用=号赋值 使用,号隔开)
    window.open('http://www.baidu.com','_blank','width=100,height=200,left=200,top=200')
}
关闭窗口的方法 close (关闭当前窗口)
document.getElementById('closeBtn').onclick = function(){
    //打开的url路径地址  打开的方式(a标签的target一致)  打开时的配置(使用=号赋值 使用,号隔开)
    window.close()
}
改变窗口位置的方法
  • moveTo
  • moveBy
//moveTo 给定实际坐标 moveBy 给定变化的距离
window.moveTo(30,30) //到达30,30的坐标
window.moveBy(20,20) //10 10 变成 30,30的坐标
改变窗口大小的方法
  • resizeTo
  • resizeBy
//resizeTo 给定实际大小 resizeBy 在当前下发生变化
window.resizeTo(30,30) //大小改为width 30 height 30大小
window.resizeBy(30,30) //原本的width增加30 原本的height也增加30
改变的滚动栏位置的方法 (*)
  • scrollTo
  • scrollBy
document.getElementById('scrollToBtn').onclick = function(){
    window.scrollTo(300,300) //滚动栏x轴到达30 y轴到达30
    console.log(window.scrollX,window.scrollY)
}
document.getElementById('scrollByBtn').onclick = function(){
    window.scrollBy(300,300) //滚动栏x轴到达30 y轴到达30
    console.log(window.scrollX,window.scrollY)
}
打印机功能调用 print打印方法 (*)
  • print (打印的基础实现)
window.print()
find 查找
window.find()
窗口 foucs 获取焦点 blur 失去焦点
window.foucs()
window.blur()
setInterval 和 setTimeout
clearInterval 和 clearTimeout
fetch 发送一个异步请求 (*)
//fetch 异步的请求 Axios的底层实现 (内核为xhr)
var obj = window.fetch('http://www.baidu.com')
console.log(obj)

Location (*)

概述

location是地址栏对象,他可以获取地址栏上的所有信息。

https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9664507230212976443%22%7D&n_type=-1&p_from=-1
  • https:// 协议
  • mbd.baidu.com 域名(解析ip+端口号)
  • 浏览器访问根据协议的不同指定不同的端口号 80端口http 443端口https
  • /newspage/data/landingsuper 路径地址
  • ?context=%7B%22nid%22%3A%22news_9664507230212976443%22%7D&n_type=-1&p_from=-1 传递参数(get请求)
location的相关属性(都支持赋值)
  • hash 获取#后面携带的内容(#通常在最后面)
  • host 主机 ip地址+端口号
  • hostname 主机名 ip地址
  • href url路径
  • port 端口号
  • pathname 路径名
  • search 获取?后面传递的参数
  • protocol 协议
  • origin 跨域地址
  • ancestorOrigins 获取倒序排列的文档对象及来源的浏览器上下文 (插件开发)
console.log(location)
//获取hash前面带#
console.log(location.hash)
//默认自己添加#
location.hash = 'abc'
console.log(location.host)
//localhost == 127.0.0.1
//location.host = "123.123.123.123:8080" 一般不建议设置
console.log(location.hostname)//主机名其实就是个ip地址
console.log(location.href)//路径
// 跳转页面
// location.href = 'http://www.baidu.com' //不会产生历史页面的
console.log(location.origin)
console.log(location.port)
//获取?后的内容 里面的写法为key=value&key=value
console.log(location.search)
location.search = 'name=jack&age=19'
//http(不安全 明文 80) 及 https (安全 加密 443(openssl(对称加密 非对称加密 hash加密等等) ))  超文本传输协议 
console.log(location.protocol)//协议
//只读属性 返回的是一个domstringlist对象
console.log(location.ancestorOrigins)
location的方法
  • assgin 跳转页面 (会产生历史页面)
  • replace 替换url跳转页面
  • reload 重新加载页面
//获取元素
document.getElementById('btn1').onclick=function(){
    location.assign('http://www.baidu.com')
}
//等同herf赋值
document.getElementById('btn2').onclick=function(){
    location.replace('http://www.baidu.com')
}
document.getElementById('btn3').onclick=function(){
    location.reload()
}
练习

将https://www.baidu.com/s?ie=UTF-8&wd=mdn&tn=15007414_dg里面的key value提取组成一个对象

// 将https://www.baidu.com/s?ie=UTF-8&wd=mdn&tn=15007414_dg里面的key value提取组成一个对象
function getUrlParams(url){
    //使用?进行分割
    url = url.split('?')[1]
    var param = {}
    // 使用&符号进行分割
    var params = url.split('&')//数组
    //遍历数组
    for(var paramStr of params){
        var arr = paramStr.split('=')
        //arr这个数组第一个是key 第二个是value
        param[arr[0]] = arr[1]
    }
    return param
}
console.log(getUrlParams('https://www.baidu.com/s?ie=UTF-8&wd=mdn&tn=15007414_dg'))

history (*)

概述

history对象是历史对象,他记录所有的历史页面。

history的属性
  • length 历史页面个数(包含当前页面)
  • state 值 (默认值为null)
  • scrollRestoration 滚动恢复属性 (auto || manual)
history的方法
  • forward 前进
  • back 后退
  • go 去任意历史页面
//常用的方法 前进 后退 任意跳转 事件会自动传递参数 参数叫event
document.getElementById('forward').onclick = function(){
    history.forward()
}
document.getElementById('back').onclick = function(){
    history.back()
}
document.getElementById('go').onclick = function(){
    //0为区间 0是自己 1为前进 -1为后退
    history.go(-1)
}
  • pushstate 添加一个state(新增历史页面)
  • replacestate 替换state (不会新增历史页面)
document.getElementById('pushstate').onclick = function(){
    //第一个参数为数据 state的数据值 第二个 unsend 常用值为"" 第三为url 改变的url
    history.pushState('hello',"",'./location对象讲解.html')
    console.log(history.state)
    console.log(history.length)
}
document.getElementById('replacestate').onclick = function(){
    //第一个参数为数据 state的数据值 第二个 unsend 常用值为"" 第三为url 改变的url
    history.replaceState('你好',"",'./location对象讲解.html')
    console.log(history.state)
    console.log(history.length)
}
pushstate及replacestate都会进行的操作

会影响state值 会改变url地址 但是不会跳转页面(页面不会刷新)

navigator

概述

navigator他是属于浏览器的导航对象,里面包含浏览器的相关信息以及你的系统信息。

属性
  • userAgent 用户信息
  • appName

  • appVersion

  • language (国际化)

//携带 浏览器版本信息以及系统版本信息兼容
console.log(navigator.userAgent) //用户相关信息
console.log(navigator.appName) //应用名
console.log(navigator.appVersion)//应用版本
console.log(navigator.language)//语言

screen 屏幕

概述:

用于屏幕相关信息 (适配 大屏可视化)

属性
  • width 屏幕宽
  • height 屏幕高
  • availWidth 屏幕可视区宽度
  • availHeight 屏幕可视区高度
  • availLeft 屏幕可视区离左边的距离
  • availTop 屏幕可视区离上边的距离
console.log(screen.width)//宽
console.log(screen.height)//高
console.log(screen.availHeight) //可视区高度
console.log(screen.availWidth) //可视区宽度
console.log(screen.availLeft) //可视区离左边的距离
console.log(screen.availTop) //可视区离上边的距离

document

概述

document是文档对象,他指代的是html整个文档。包含用于操作对应的html文档的相关内容。他是整个DOM里面最大的对象,他是属于BOM的。

相关属性
  • body 获取body
  • forms 获取所有的表单
  • head 获取head
console.log(document.body)
console.log(document.forms)
console.log(document.head)

BOM是路由的底层实现,所有的前端JS框架的路由底层都是BOM。

路由

概述

根据不同的url地址来给你渲染不同的内容,路由主要分为俩种。前端路由,后端路由。

后端路由

后端介绍

后端 主要提供数据的,以及对应的数据进行相关的业务处理。后端用到的语言主要java,php,node.js…

后端路由
接口路由 (json格式 restful接口)

根据不同的接口返回不同的数据

渲染路由 (ssr 服务器渲染 前后端不分离)

根据不同的url地址来渲染不同的页面 (后端服务器的压力大)

优点

利于seo (搜索引擎优化)

首页渲染速度快 (主页都是做ssr)

缺点

服务器压力大

维护不便

前端路由

根据不同url地址来渲染不同的页面(浏览器解析)

前端路由划分

页面路由 (根据不同的url跳转不同的页面 (刷新操作))

location.href = 地址
location.assign('地址')
location.replace('地址')

hash路由 (根据不同hash值渲染不同的内容 不刷新)

<body>
    <button onclick="location.hash = 'hello'">hello</button>
    <button onclick="location.hash = 'byby'">byby</button>
    <div id="context"></div>
</body>
</html>
<script>
    //监听事件 onhashchange
    window.onhashchange = function(){
        var hash = location.hash
        if(hash=='#hello'){
            document.getElementById('context').innerHTML = 'hello'
        }else{
            document.getElementById('context').innerHTML = 'byby'
        }
    }
</script>

history路由 (根据不同的url来渲染不同的内容 不刷新)

<body>
  <button onclick="history.pushState('','','./document.html')">1</button>
  <button onclick="history.replaceState('','','./histroy.html')">2</button>
  <div id="context"></div>
</body>
</html>
<script>
    //监听事件 onpopstate
    //等待back 或者 go 或 forwad才触发
    window.onpopstate = function(){
      if(location.href.search('document')){
        document.getElementById('context').innerHTML = 'hello'
      }else{
        document.getElementById('context').innerHTML = 'byby'
      }
    }
</script>

hash路由和history路由常用于SPA(单页应用程序)程序,不刷新页面也能实现视图的切换。所以对应的在vue或者react的路由底层设计中只有俩种模式一种为hash模式一种为history模式。这种程序一般运用在前后端分离的基础上。

单页应用程序的优缺点
优点

无刷新 减少了页面的回流(重新渲染)

业务更加清晰 代码结构更加明了

缺点

不利于seo

k 或者 go 或 forwad才触发
window.onpopstate = function(){
if(location.href.search(‘document’)){
document.getElementById(‘context’).innerHTML = ‘hello’
}else{
document.getElementById(‘context’).innerHTML = ‘byby’
}
}


hash路由和history路由常用于SPA(单页应用程序)程序,不刷新页面也能实现视图的切换。所以对应的在vue或者react的路由底层设计中只有俩种模式一种为hash模式一种为history模式。这种程序一般运用在前后端分离的基础上。

##### 单页应用程序的优缺点

###### 优点

无刷新 减少了页面的回流(重新渲染)

业务更加清晰 代码结构更加明了

###### 缺点

不利于seo

**所以为了解决单页应用不利于seo的问题出现了一个新的技术叫预渲染**
VC Spyglass调试秘籍:从Lint报错到代码修复的完整工作流 本文详细介绍了VC Spyglass调试的完整工作流,重点解析了如何高效定位和修复Lint检查中常见的XMRE-L跨模块引用错误。通过对比GUI与命令行(vc_static_shell)双模式调试技巧,并结合TCL脚本实现批量处理与规则豁免,帮助数字设计工程师系统化地提升代码调试效率与质量。 阅读详情

相关推荐

『n8n』初识界面

在首页(Overview),我们和 n8n 最常打交道的是“Workflows”、“Credentials”、“Executions”这几个面板(其实后面2个也会用到,但初学阶段可以先不管)。Workflows 面板可以看到我们创建的所有工作流,所以要给工作流起一个一眼看上去就知道是干嘛的名字。

weixin_39415598的博客 1400

谷歌浏览器劫持

“?tn=15007414_8_dg” 这玩意是不是看起来很讨厌?

weixin_65232438的博客 2996

【faers数据库-R语言】

摘要:本文详细介绍了FAERS数据库不良反应信号挖掘的完整流程,包括数据解压导入(R代码示例)、数据结构理解、数据清洗(缺失值处理、标准化、合并和编码映射)、信号挖掘准备(药物-反应组合表创建)以及信号强度指标计算(PRR和ROR)。重点阐述了数据清洗的关键步骤,如缺失值处理(colSums(is.na()))、数据标准化(toupper()、as.Date())和表合并(merge()),并提供了完整的R语言实现代码。最后强调结果需结合临床知识解读,建议使用data.table等高效工具处理大数据。整个流

weixin_46587777的博客 1426

Day08 BOM

day08 BOM

weixin_51421372的博客 263

JavaScript08-BOM

JavaScript08-BOM 文章目录JavaScript08-BOM一、BOM简介二、Navigator三、History四、location五、定时调用六、切换图片练习七、移动div练习八、延时调用九、定时器的应用9.1 向右移动div到达一定位置就停止9.2 添加向左移动div的按钮9.3 进一步添加移动功能十、轮播图十一、类的操作十二、二级菜单练习十三、JSON 一、BOM简介 BOM:浏览器对象模型 BOM可以使我们通过JS来操作浏览器 在BOM中为我们提供了一组对象,用来完成对浏览器的操作

A1066223647的博客 214

08.BOM

八、BOM 8.1 BOM的概念 BOM 是Browser Object Model(浏览器对象模型)的缩写,提供与浏览器窗口进行交互的对象。JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C, 而BOM缺乏标准。这也是各种浏览器不兼容的根源所在 8.2 window对象 window对象是BOM的核心, 是最顶层的对象,所有对象都是通过它延伸出来的 8.2.1 全局作用域 定义在全局环境下的变量都会成为window对象的属性 把变量定义在函数体里,可以有效减少全局环境下

qq_41905827的博客 172

day08-BOM

day08-BOM

m0_71706639的博客 216

day08:BOM

day08:BOM

ZMiLey的博客 230

day08 BOM对象

day 08

yuan1723936262的博客 423

08 JavaScript-BOM

BOM

遇见你 的博客 277

day08 BOM讲解

(调用浏览器相关的功能及获取浏览器携带的内容),通过共有对象来解决没有规范的问题。innerHeigh窗口可操作区域的高度。innerWidth窗口可操作区域的宽度。是地址栏对象,可以获取地址栏上的所有信息。assgin跳转页面(会产生历史页面)navigator属于浏览器的导航对象。host主机 IP地址+端口号。hash哈希获取#后面携带的内容。scrollX滚动栏x轴的坐标。scrollY滚动栏y轴的坐标。打开窗口的方法 open()关闭窗口的方法close()pathname 路径名。

bilibilihoy的博客 197

08.JavaScript BOM

BOM window对象 全局作用域 window对象同时扮演着ECMAScript中Global对象的角色,因此所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法 var age = 29; function sayAge(){ alert(this.age); } alert(window.age); //29 sayAge(); //29 window.sayAge(); //29 全局变量不能通过delete操

FrequencyStar的博客 254

08 BOM--前篇

正课: 1. ***BOM   window      打开关闭窗口      窗口大小和位置      定时器 1. ***BOM:   什么是: Browser Object Model       专门操作浏览器窗口的API —— 没有标准   DHTML对象模型:    window 2个角色:         1. 代替global作为全局作用域对象              所有全局...

Pony_18的博客 261

前端系列教程之JavaScript08_BOM编程

一、BOM概述 1.1、Web API API的概念 API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 用来提供应用程序与开发人员基于...

波哩个波的博客 1150

Javascript学习08-BOM

Javascript BOM

端木奇影のWEB前端 527

08-javascript - BOM / DOM

BOM js组成 => ESCMAScript + BOM + DOM BOM => browser Object model 浏览器对象模型 BOM 里面有一个顶级对象 window 常见操作BOM的方法 navigator 用户信息 用户基本信息 userAgent var userAgent = window.navigator.userAgent console.log(userAgent)//Mozilla/5.0 (Windows NT 10.0; W

weixin_53841588的博客 213

2021-01-08Bom和Dom

文章目录一、location地址栏对象1.URL2.location对象:二、navigator浏览器对象三、history历史对象四、浏览器卷去的高度四、浏览器滚动自定义滚动速度 一、location地址栏对象 BOM中location对象提供的方法,可以更改当前用户在浏览器中访问的URL,实现新文档的载入、重载以及替换等功能。 1.URL 统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。 URL是由一串字符组成,这些字符可

weixin_53125679的博客 243

js 笔记_08 BOM 及 DOM 相关

BOM 系统对话框 alert():弹出对话框; confirm():弹出一个带确定和取消的提示框; 返回值:如果点击确定,返回 true;如果点击取消,返回 false; prompt():弹出一个带输入框的提示框; 第一个参数:面板上显示的内容; 第二个参数:输入框里面的默认内容;(可以不写) 返回值:如果点击确定,返回输入框中的内容;如果点击取消,返回 null; history 对象 作用:当前窗口历史记录,只要加载的 url 不一样就会产生历史记录; 注意不是浏览器的,而是当前窗口的历史记

Web_blingbling的博客 229

JS学习笔记08-浏览器BOM

文章目录一、BOM基础1.1 打开窗口1.2 关闭窗口1.3 常用属性1.3.1 window.navigator.userAgent 浏览器信息 客户端信息1.3.2 window.location url信息1.4 补充知识二、尺寸及坐标2.1 clientWidth; 可视区的宽度2.2 clientHeight; 可视区的高度2.3 scrollTop 到页面顶端的距离(可写)三、常用方...

欢迎访问我的主页:https://www.bookbook.cc 7376

JavaScript学习08-BOM浏览器对象模型

目录BOM概述DOM和BOM的对比window对象的常见事件定时器JS执行机制location对象navigator对象history对象 BOM概述 BOM:浏览器对象模型,提供了独立于内容与窗口进行交互的对象,核心对象是window 由一系列相关对象构成,每个对象都有很多属性和方法 DOM和BOM的对比 DOM BOM 文档对象模型 浏览器对象模型 把文档当对象 把浏览器当对象 顶级对象document 顶级对象window 主要操作页面 主要是浏览器窗口交互的对象 W3

Meowmow的博客 273

基于STM32火灾报警器-阿里云版本,包含代码,ESP8266烧录固件,具体介绍看我的博客

基于STM32火灾报警器_阿里云版本,包含代码,ESP8266烧录固件,具体介绍看我的博客

基于YOLOV5火灾火焰烟雾检测源码+数据集+训练好的模型,Python火灾火焰烟雾检测源码+数据集+训练好的模型

YOLO(You Only Look Once)是一种实时目标检测系统,它在计算机视觉领域有着广泛的应用。YOLOV5是YOLO系列的最新版本,由Joseph Redmon、Albumentations团队等开发,以其高效的运行速度和高精度的检测性能而备受赞誉。本资源包主要包含了基于YOLOV5框架的火灾火焰烟雾检测解决方案,适用于实时监控和预警系统,能够及时识别并报告潜在的火源和烟雾,从而提高公共安全。1. YOLOV5架构:YOLOV5采用了一种改进的单阶段检测方法,相比于前几代YOLO,它的架构更加优化。主要组件包括ResNet、SPP-Block(空间金字塔池化)、Focal Loss等,这些设计提高了模型的定位精度和速度。2. 火灾火焰烟雾数据集:这个资源包中包含了一个专门针对火灾、火焰和烟雾的标注数据集,用于训练模型。数据集通常包括大量带标注的图像,每张图像都标有火焰、烟雾的位置和类别,使得模型可以学习到不同火灾场景的特征。3. 训练过程:使用YOLOV5训练模型时,需要进行数据预处理、超参数调整、模型编译和训练。在训练过程中,可能会用到如Adam优化器、批归。

上一篇: 07 日期对象及对象讲解
下一篇: 09 DOM
V我50,听菜狗逆袭之路
博客等级 码龄6年 3粉丝 · 18原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值