JavaScript浏览器对象之location对象

本文介绍了JavaScript中window对象的location对象,包括其方法如assign()、reload()、replace(),以及各种属性如hash、host、href等,详细解析了如何使用location对象控制浏览器文档的加载和位置变化。
前言

JavaScript浏览器对象:window对象
window对象是ECMAScript中规定的Global(全局)对象的显式对象,因为Global对象相对情况下是隐式存在的。
通过JS引用可以对浏览器窗口进行访问、操作的一个接口,属于BOM浏览器对象模型中的常用对象之一。如下就window对象控制URL的location对象进行摘要解析:

摘要

一、Location对象方法
简介:
Location是一个URL操作方法,这对象中包含了有关当前URL的信息。Location对象是Window对象的一部分,可以通过window.location属性来访问。

1、assign()方法,用于加载一个指定URL的新文档

语法:location.assign(URL)

实例:

<html>
<head>
<script type="text/javascript">
function newDoc()	<!-- 定义一个点击事件函数 -->
  {
  window.location.assign("http://www.w3school.com.cn")	
  }
  <!-- assign()引用自window对象,所以'window.'加不加均可 -->
</script>
</head>
<body>

<input type="button" value="Load new document" onclick="newDoc()" />
	<!-- 定义button按钮,引用定义的函数 -->
</body>
</html>

2、reload()方法,用于重载当前文档。

语法:location.reload(force)

说明:
如果该方法不设参数或参数为false,会检测目标文件是否有修改而选择是否重新下载刷新,是则重新下载文档刷新,否则基于缓存刷新。
如果该方法参数设为true,则无论目标文件是否有过修改,都会绕过缓存,从目标服务器重新下载文档来刷新。

实例:

<html>
<head>
<script type="text/javascript">
function reloadPage()	<!-- 定义重载函数 -->
  {
  window.location.reload()
  }
</script>
</head>

<body>
<input type="button" value="Reload page" onclick="reloadPage()" />
	<!-- 定义按钮引用函数 -->
</body>

</html>

3、replace()方法,可用一个新的文档取代当前文档

语法:location.replace(newURL)

说明:
replace与assign()方法类似,不同之处在于assign()跳转为新页面时,可以点击后退返回上一个页面。而replace()是用一个新的页面来代替原页面,是无法返回原页面的。
w3school中说明为:
replace() 方法不会在 History 对象中生成一个新的记录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前记录。

实例:

<html>
<head>
<script type="text/javascript">
function replaceDoc()	<!-- 定义替代函数 -->
  {
  window.location.replace("http://www.w3school.com.cn")
  }
</script>
</head>
<body>

<input type="button" value="Replace document" onclick="replaceDoc()" />
	<!-- 定义按钮引用函数 -->
</body>
</html>

二、Location对象属性
hash 设置或返回从井号 (#) 开始的 URL(锚)。
host 设置或返回主机名和当前 URL 的端口号。
hostname 设置或返回当前 URL 的主机名。
href 设置或返回完整的 URL。
pathname 设置或返回当前 URL 的路径部分。
port 设置或返回当前 URL 的端口号。
protocol 设置或返回当前 URL 的协议。
search 设置或返回从问号 (?) 开始的 URL(查询部分)。

语法:
location.属性名

三、Location对象描述
Location 对象存储在 Window 对象的 Location 属性中,表示那个窗口中当前显示的文档的 Web 地址。它的 href 属性存放的是文档的完整 URL,其他属性则分别描述了 URL 的各个部分。这些属性与 Anchor 对象(或 Area 对象)的 URL 属性非常相似。当一个 Location 对象被转换成字符串,href 属性的值被返回。这意味着你可以使用表达式 location 来替代 location.href。

不过 Anchor 对象表示的是文档中的超链接,Location 对象表示的却是浏览器当前显示的文档的 URL(或位置)。但是 Location 对象所能做的远远不止这些,它还能控制浏览器显示的文档的位置。如果把一个含有 URL 的字符串赋予 Location 对象或它的 href 属性,浏览器就会把新的 URL 所指的文档装载进来,并显示出来。

除了设置 location 或 location.href 用完整的 URL 替换当前的 URL 之外,还可以修改部分 URL,只需要给 Location 对象的其他属性赋值即可。这样做就会创建新的 URL,其中的一部分与原来的 URL 不同,浏览器会将它装载并显示出来。例如,假设设置了Location对象的 hash 属性,那么浏览器就会转移到当前文档中的一个指定的位置。同样,如果设置了 search 属性,那么浏览器就会重新装载附加了新的查询字符串的 URL。

除了 URL 属性外,Location 对象的 reload() 方法可以重新装载当前文档,replace() 可以装载一个新文档而无须为它创建一个新的历史记录,也就是说,在浏览器的历史列表中,新文档将替换当前文档。

内容部分源自:w3school

以上内容如有错漏,敬请联系指正,转载请注明出处。

作者更多 靠谱、易懂、可复现的 技术文章尽在公众号 FaithSinan。
欢迎扫码关注,一起学习交流,获取第一时间更新
在这里插入图片描述

内容概要:本文围绕可变桨叶四旋翼无人机的规范控制点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率响应速度,旨在提升无人机在复杂飞行任务中的动态性能控制精度。该仿真研究为无人机飞控系统的设计优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值