[英]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.