使用Javascript,有没有和VBScript的IsEmpty函数一样的函数或功能?VBScript函数返回给定变量是否为“空”,例如,因为所有变量实际上都是变体,无论变量的vt是否为VT_EMPTY,而我所找到的大多数Javascript都是特定于字符串的,或者是不可泛化的。
发布于 2009-08-13 19:56:08
function IsEmpty( theValue )
{
if ( theValue === undefined )
{
return true;
}
return false;
}
发布于 2009-08-13 21:51:14
JavaScript有许多不同的值,可以被认为是“空的”,并且有许多不同的方法来测试是否为空。
第一件事是空的:
尚未分配的
undefined
:值。如果你创建了一个变量,但没有给它赋值,这就是它将被赋值的值,这是一个可以赋值给任何var
.的对象值
接下来如何测试它们。JavaScript是具有大量隐式类型转换的松散类型。这意味着当两个值属于不同类型时,标准等于运算符==
执行类型强制。三重等于运算符does not执行类型强制,这使得它成为针对非常具体的值进行测试的最佳运算符。
if ("undefined“=== typeof myFoo) { /*这将被认为是空的*/ }
undefined
进行测试(请注意三重等于运算符):if (undefined === myFoo) { /*这将被认为是空的*/ }
null
进行测试(请注意三重等于运算符):if (null === myFoo) { /*这将被认为是空的*/ }
""
进行测试(请注意三重等于运算符):if ("“=== myFoo) { /*这将是空字符串*/ }
false
,则可以通过直接在if语句中测试它来测试其是否存在:if (!myFoo) { /*这将是任何假值,包括false、null、0、未定义*/ }否则{ /*这将是任何真值,包括对象、非零的数字、日期等。*/ }
大多数时候,如果你想要一些“真实”的东西,你可以直接测试它,它会被强制转换为布尔值。因此,简而言之,您可以将其定义为:
function isEmpty(value) {
return !value;
}
但是,在对象之前放置一个!
或!!
来获取它的值通常更有意义。如果您期望false
或0
(零)作为有效值,请务必小心。在这些情况下,最好测试typeof
对象并做出相应的选择。
发布于 2009-08-13 20:07:18
不确定,这是否是应该的
typeof variable == "undefined"
https://stackoverflow.com/questions/1275960
复制