为了账号安全,请及时绑定邮箱和手机立即绑定

javascript如何实现对window.location对象的assign操作

javascript如何实现对window.location对象的assign操作

慕侠2389804 2023-03-10 14:40:44
我是 js 的新手,最近我了解到我们可以通过为对象分配一个新值来导航到浏览器选项卡中的新页面,window.location例如:window.location = "https://www.stackoverflow.com"。但是我对这个赋值操作感到困惑。在 javascript 中,变量在赋值操作中改变它的类型和值。例如,当运行以下程序段时, 的类型a将是undefined然后是number最后是string:var a; a = 1; a = "str";但是将一个字符串对象(即 url)分配给并window.location不会改变它的类型,它window.location仍然是类的一个实例Location,只是它的一些属性发生了变化(例如window.location.href,window.location.host等等)。这就像用函数重载“ = ”运算符一样window.location.assign(),但 javascript 似乎没有提供重载机制。我不知道浏览器(即 javascript 运行环境)做了什么来实现这一点。如果有人能帮助我解决这个问题,我将不胜感激。
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

它可能是一个 setter https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set结合location.assign()https://developer.mozilla.org/en-US/docs/Web /API/Location/assign ) 在幕后被调用。

来自https://developer.mozilla.org/en-US/docs/Web/API/Window/location:“每当将新值分配给位置对象时,将使用 URL 加载文档,就像 location.assign ()”。


查看完整回答
反对 回复 2023-03-10
  • 1 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信