我是 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 运行环境)做了什么来实现这一点。如果有人能帮助我解决这个问题,我将不胜感激。
繁星淼淼
相关分类