ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

17.1 Wiindow对象

2026/8/2 19:13:49 拓冰建站 浏览量
17.1 Wiindow对象 17.1 BOMBOM(Browser Object Model )是浏览器对象模型●window对象是一个全局对象也可以说是JavaScript中的顶级对象●像document、alert()、 console. log()这些都是window的属性基本BOM的属性和方法都是window的●所有通过var定义在全局作用域中的变量、函数都会变成window对象的属性和方法●window对象下的属性和方法调用的时候可以省略window17.2 定时器-延时函数●setTimeout是JavaScript内置的一个用来让代码延迟执行的函数●语法:setTimeout(回调函数,等待的毫秒数)●setTimeout只执行一次所以可以理解为就是把一段代码延迟执行平时省略window●清除延时函数:let timer setTimeout(回调函数,等待的毫秒数) clearTimeout(timer)●注意延时器需要等待所以后面的代码先执行每一次调用延时器都会产生一个新的延时器●两种定时器对比执行的次数延时函数: 执行一次间歇函数每隔一段时间就执行一次除非手动清除17.3 JS执行机制JavaScript语言的一大特点就是单线程也就是说同一个时间只能做一件事。这是因为Javascript这门脚本语言是为处理页面中用户的交互以及操作DOM而诞生的。比如我们对某个DOM元素进行添加和删除操作不能同时进行。应该先进行添加之后再删除。单线程就意味着所有任务需要排队前一个任务结束才会执行后一个任务。这样所导致的问题是如果JS执行的时间过长这样就会造成页面的渲染不连贯导致页面渲染加载阻塞的感觉。为了解决这个问题 JS中出现了同步和异步同步前一个任务结束后再执行后一个任务程序的执行顺序与任务的排列顺序是一致的、 同步的异步你在做一件事情时因为这件事情会花费很长时间在做这件事的同时你还可以去处理其他事情他们的本质区别这条流水线上各个流程的执行顺序不同执行次序1.先执行 执行栈中的同步任务2.异步任务放入任务队列中3.一旦执行栈中的所有同步任务执行完毕系统就会按次序读取任务队列中的异步任务于是被读取的异步任务结束等待状态进入执行栈开始执行17.4 location对象location 的数据类型是对象它拆分并保存了URL地址的各个组成部分常用属性和方法●href属性获取完整的URL地址对其赋值时用于地址的跳转重点//可以得到当前文件URL地址 console.log( location.href) //可以通过js方式跳转到目标地址 location.href http: //www.itcast.cn ●search 属性获取地址中携带的参数符号?后面部分console.log( location.search)●hash属性获取地址中的哈希值符号#后面部分console.log( location.hash)后期vue路由的铺垫经常用于不刷新页面显示不同页面比如网易云音乐●reload 方法用来刷新当前页面传入参数true时表示强制刷新 button点击刷新 / buttonscriptletbtndocument.querySelector(button)btn.addEventListener(click,function(){location.reload(true)// 强制刷新 类似ctrL f5})/script17.5 navigator对象navigator的数据类型是对象该对象下记录了浏览器自身的相关信息●常用属性和方法:➢通过userAgent检测浏览器的版本及平台//检测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 } })()立即执行函数也可这么写!function(){}()17.6 histroy对象●history 的数据类型是对象主要管理历史记录该对象与浏览器地址栏的操作相对应如前进、后退、历史记录等●常用属性和方法: