Javascript 在if(window.location=';x';)中将==更改为===会导致块不执行

Javascript 在if(window.location=';x';)中将==更改为===会导致块不执行,javascript,equals-operator,triple-equals,Javascript,Equals Operator,Triple Equals,我正在检查我的代码是否使用了=而不是==,但更改了此行: if(window.location == 'app:/test.html') 为此: if(window.location === 'app:/test.html') 导致不再执行该块 正确的方法是什么?原因是=与类型和内容相匹配 window.location在大多数情况下就像一个字符串,但实际上是一个位置对象 您可以更改if以检查href属性,该属性是字符串: if(window.location.href === 'app:/

我正在检查我的代码是否使用了
=
而不是
==
,但更改了此行:

if(window.location == 'app:/test.html')
为此:

if(window.location === 'app:/test.html')
导致不再执行该块


正确的方法是什么?

原因是
=
与类型和内容相匹配

window.location
在大多数情况下就像一个
字符串
,但实际上是一个
位置
对象

您可以更改
if
以检查
href
属性,该属性是
字符串

if(window.location.href === 'app:/test.html')
然后,您的代码将按预期工作

MDN有大约
窗口。位置
值得一读