繁体   English   中英

将变量设置为undefined时,Microsoft JScript抛出“ variable”是未定义的错误

[英]Microsoft JScript throws 'variable' is undefined error when setting variable to undefined

我在Microsoft JScript中将一个变量设置为另一个未定义的变量,即

var valid = Page_IsValid;

JScript引发以下错误

Microsoft JScript运行时错误:'Page_IsValid'未定义

不知何故,这并不使我感到正确。 它不应该只是忽略赋值吗-除了将它赋给变量之外,我对Page_IsValid并没有做任何事情。

这是正确的行为。 只要您的第一个引用是赋值(例如, firstReference = 'foo'; )或在typeof表达式中,就可以引用不带var关键字的新变量。 这是因为您仍在声明变量,但要声明为全局变量。 在您的情况下,您尝试在赋值的右侧使用Page_IsValid ,但是解释器不知道如何处理它,因为它在任何地方都没有被处理。

如果不确定是否已声明Page_IsValid ,则可以执行以下操作:

// kind of funky to set the value to undefined, but this ensures
// that Page_IsValid has been properly "declared"
if (typeof Page_IsValid === 'undefined') { Page_IsValid = undefined; }

这是预期的行为,您尝试分配不存在的内容。 您可以测试Page_IsValid的状态,并根据需要进行处理:

var valid = (typeof Page_IsValid !== 'undefined') ? Page_IsValid : <default value>;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM