我们如何添加对未定义变量的检查,例如:
function A(val) {
if (val == undefined)
// do this
else
// do this
}
我们如何添加对未定义变量的检查,例如:
function A(val) {
if (val == undefined)
// do this
else
// do this
}
Answers:
JQuery库是专门为简化和统一某些JavaScript功能而开发的。
但是,如果需要根据undefined
值检查变量,则无需发明任何特殊方法,因为JavaScript具有typeof
简单,快速且跨平台的运算符:
if (typeof value === "undefined") {
// ...
}
它返回一个指示变量或其他未评估操作数类型的字符串。与相比,此方法的主要优点if (value === undefined) { ... }
是,typeof
如果变量value
不存在,则永远不会引发异常。
("#myId")
,请确保您真正需要的是:typeof ("#myId")=== "undefined"
b。或:typeof ("#myId").val() === "undefined"
("#myId")
只是一个字符串常量。它将始终被定义并具有的类型"string"
。如果您的意思是使用创建的实际jQuery对象$("#myId")
,则将始终定义为"object"
(如果您正确链接了jQuery)。myId
可以使用评估ID为的DOM元素的存在if ($("#myId").length > 0) { ... }
,而可以使用来检查其值是否为空if ($("#myId").val()) { ... }
。这些条款实际上都不涉及这个问题的主题。
value === undefined
如果value
变量不存在,则simple 将引发异常。因此,在现实生活中使用什么完全取决于您。
我知道我迟到了该功能,但jquery有一个内置功能来做到这一点
if(jQuery.type(val) === "undefined"){
//Some code goes here
}
相同的请参考jquery.type https://api.jquery.com/jQuery.type/的 jquery API文档。
您可以使用速记技术来检查它是否未定义或为空
function A(val)
{
if(val || "")
//do this
else
//do this
}
希望这个能对您有所帮助
如果您具有元素名称而不是id,我们可以对所有文本元素(例如)进行未定义的检查,如下所示,并用默认值(例如0.0)填充它们:
var aFieldsCannotBeNull=['ast_chkacc_bwr','ast_savacc_bwr'];
jQuery.each(aFieldsCannotBeNull,function(nShowIndex,sShowKey) {
var $_oField = jQuery("input[name='"+sShowKey+"']");
if($_oField.val().trim().length === 0){
$_oField.val('0.0')
}
})
function isValue(value, def, is_return) {
if ( $.type(value) == 'null'
|| $.type(value) == 'undefined'
|| $.trim(value) == ''
|| ($.type(value) == 'number' && !$.isNumeric(value))
|| ($.type(value) == 'array' && value.length == 0)
|| ($.type(value) == 'object' && $.isEmptyObject(value)) ) {
return ($.type(def) != 'undefined') ? def : false;
} else {
return ($.type(is_return) == 'boolean' && is_return === true ? value : true);
}
}
试试这个〜所有类型检查器
您可以使用两种方式1)if ( val == null )
2)if ( val === undefine )