当前位置: 首页 > 面试题库 >

如何在JavaScript中检查未定义的变量

梁浩
2023-03-14
问题内容

我想检查变量是否已定义。例如,以下引发未定义的错误

alert( x );

如何捕获此错误?


问题答案:

在JavaScript中,null是一个对象。不存在的事物还有另一个价值,undefined。DOM
null在几乎所有无法在文档中找到某些结构的情况下都会返回,但是在JavaScript本身中undefined是所使用的值。

第二,不,没有直接对等的内容。如果您确实要专门检查null,请执行以下操作:

if (yourvar === null) // Does not execute if yourvar is `undefined`

如果要检查变量是否存在,那只能用try/ 来完成catch,因为typeof它将未声明的变量和声明为的变量undefined等效。

但是,检查是否声明一个变量 不是undefined

if (yourvar !== undefined) // Any scope

以前,必须使用typeof运算符来安全地检查未定义的内容,因为有可能undefined像变量一样重新分配。原来的样子是这样的:

if (typeof yourvar !== 'undefined') // Any scope

undefined可重新分配的问题已在2009年发布的ECMAScript
5中得到修复。现在,您可以安全地使用===!==进行测试,undefined而无需使用typeofas,undefined因为一段时间以来一直是只读的。

如果您想知道成员是否独立存在,但不在乎其值是什么:

if ('membername' in object) // With inheritance
if (object.hasOwnProperty('membername')) // Without inheritance

如果您想知道变量是否为真:

if (yourvar)


 类似资料:
  • 本文向大家介绍如何在JavaScript中检查未定义的变量?,包括了如何在JavaScript中检查未定义的变量?的使用技巧和注意事项,需要的朋友参考一下 要检查变量是否为“未定义”,您需要使用以下命令进行检查。如果结果为“ false”,则表示未定义变量。在这里,变量结果为“ True”- 示例

  • 问题内容: 我们经常在JavaScript代码中使用以下代码模式 有没有更冗长的检查方法具有相同的效果? 根据一些论坛和文献的说法,简单地讲,以下内容应具有相同的效果。 不幸的是,当未定义时,Firebug会将这样的语句评估为运行时错误,而第一个语句就可以了。这仅仅是Firebug的一种(有害的)行为,还是这两种方式之间确实存在某些区别? 问题答案: 您必须区分两种情况: 变量可以是或未 声明的

  • 问题内容: 测试JavaScript中是否未定义变量的最合适方法是什么?我已经看到了几种可能的方法: 要么 要么 问题答案: 如果您想知道变量是否已声明而无论其值如何,那么使用运算符是最安全的方法。考虑以下示例: 但这在某些情况下可能不是预期的结果,因为已声明但未初始化变量或属性。使用运算符进行更强大的检查。 如果您想知道变量是否尚未声明或具有值,请使用运算符,该运算符可确保返回字符串: 直接比较

  • 本文向大家介绍如何检查JavaScript中是否定义了变量?,包括了如何检查JavaScript中是否定义了变量?的使用技巧和注意事项,需要的朋友参考一下 要检查变量是否为“未定义”,您需要使用以下命令进行检查。如果结果为“ false”,则表示未定义变量。在这里,变量结果为“ True”,即定义为- 示例

  • 问题内容: 我看到了这个问题,但是没有看到JavaScript特定的示例。JavaScript中是否有一个简单的可用工具,还是仅用于检查的情况? 问题答案: 如果您只想检查是否有任何价值,可以 如果您需要专门为在空空字符串检查,我想核对是你最好的选择,使用的运营商(让你知道这是,事实上,一个字符串你比较反对)。

  • 我正在使用FreeMarker构建一个基于模板的代码生成器。由于用户可以用任何语言生成代码,因此在数据模型中提供特定于语言的设置(例如包)是不合适的。但是,如果在FreeMarker模板中定义了它们,则必须定义它们(除非它们是可选的)。 此代码利用FreeMarker抛出的异常查找丢失的值。然后,它用一个临时值填充它们,以便找到其他丢失的值。 源代码: Template: