Javascript 我得到;引用错误:未定义窗口";即使我检查窗户

Javascript 我得到;引用错误:未定义窗口";即使我检查窗户,javascript,referenceerror,Javascript,Referenceerror,在我的代码中,我不断得到ReferenceError:window未定义,即使我检查了window 我的代码: var isReferrerArgonauts = window && window.document.referrer.indexOf('argonauts-bd.com') !== -1; 为了进行健全性检查,我甚至尝试将其窗口放在if语句中,甚至检查窗口!==未定义,但全部无效 我做错了什么?问题是我如何调查未定义的窗口。在javascript中,如果它是一个对

在我的代码中,我不断得到
ReferenceError:window未定义
,即使我检查了window

我的代码:

var isReferrerArgonauts = window && window.document.referrer.indexOf('argonauts-bd.com') !== -1;
为了进行健全性检查,我甚至尝试将其窗口放在if语句中,甚至检查
窗口!==未定义
,但全部无效


我做错了什么?

问题是我如何调查未定义的窗口。在javascript中,如果它是一个对象属性,您可以按照问题中提到的方式检查未定义的属性

但是,window等变量不作为属性,您需要使用typeof进行调查,例如:

    const isReferrerArgonauts = (typeof window !== 'undefined') && (window.document.referrer.indexOf('argonauts-bd.com') !== -1);

Typeof保证字符串响应,您不会得到引用错误。

什么是“基本级别变量”?所有变量也是如此。@JaredSmith谢谢!我澄清了语义。你说得对。这只是一个变量,没有“基本水平”答案的可能重复是重复的,从这个意义上说,这就是你解决问题的方法,但直到我知道答案,我才知道这是个问题。这个问题可以帮助那些出现此错误但不知道问题在于如果变量没有首先赋值,就不能期望它返回未定义的变量的人。