dla*_*nod 1 javascript vbscript
使用Javascript,是否有相同的功能或功能,所以VBScript的IsEmpty功能?VBScript函数返回给定变量是否为"空",例如,因为所有变量实际上都是VARIANT,无论VARIANT是否具有vt的VT_EMPTY,而我发现的大多数Javascript都是字符串特定的或不可推广的.
JavaScript有许多不同的值,可以被认为是"空"和许多不同的方法来测试空.
首先是空的:
undefined:尚未分配的值.如果您创建一个变量但不为其分配任何内容,则它将包含它.
null:这是一个可以分配给任何对象的对象值var.
接下来如何测试它们.JavaScript松散地输入了很多隐式类型转换.这意味着当两个值具有不同类型时,标准equals运算符==执行类型coersion.三重等于操作者不执行类型coersion这使得用于测试的最好的运营商针对非常具体的值.
你可以测试一个值的类型,它返回一个可以测试的字符串(注意三重等于运算符):
if ("undefined" === typeof myFoo) { /* this would be considered empty */ }
Run Code Online (Sandbox Code Playgroud)你可以测试关键字undefined(注意三重等于运算符):
if (undefined === myFoo) { /* this would be considered empty */ }
Run Code Online (Sandbox Code Playgroud)你可以测试关键字null(注意三重等于运算符):
if (null === myFoo) { /* this would be considered empty */ }
Run Code Online (Sandbox Code Playgroud)你可以测试空字符串""(注意三重等于运算符):
if ("" === myFoo) { /* this would be the empty string */ }
Run Code Online (Sandbox Code Playgroud)如果你期望一个通常不会被强制转换为布尔值的值false,那么你可以通过直接在if语句中测试它来测试它的存在:
if (!myFoo) {
/* this would be any falsy value, including false, null, 0, undefined */
} else {
/* this would be any truthy value, including objects,
numbers other than zero, Dates, etc. */
}
Run Code Online (Sandbox Code Playgroud)大多数情况下,如果你期望某些东西"真实",你可以直接测试它,它将被强制转换为布尔值.简而言之,您可能会将其定义为:
function isEmpty(value) {
return !value;
}
Run Code Online (Sandbox Code Playgroud)
但是,只要在对象之前!或!!之前放置它的值就更有意义了.如果您期望false或0(零)作为有效值,请小心.在这些情况下,最好测试typeof对象并做出相应的选择.
| 归档时间: |
|
| 查看次数: |
1979 次 |
| 最近记录: |