如何验证JavaScript中对象的存在?
以下工作:
if (!null)
alert("GOT HERE");
但是这会抛出一个错误:
if (!maybeObject)
alert("GOT HERE");
错误:
maybeObject没有定义。
如何验证JavaScript中对象的存在?
以下工作:
if (!null)
alert("GOT HERE");
但是这会抛出一个错误:
if (!maybeObject)
alert("GOT HERE");
错误:
maybeObject没有定义。
当前回答
我曾经只做一个if(maybeObject)作为空检查在我的javascript。
if(maybeObject){
alert("GOT HERE");
}
因此,只有当maybeObject -是一个对象时,才会显示警报。 我在我的网站上有一个例子。
https://sites.google.com/site/javaerrorsandsolutions/home/javascript-dynamic-checkboxes
其他回答
你可以用"typeof"。
if(typeof maybeObject != "undefined")
alert("GOT HERE");
你可以安全地在未定义的变量上使用typeof操作符。
如果它被赋值,包括null, typeof将返回非undefined的值。Typeof总是返回一个字符串。
因此
if (typeof maybeObject != "undefined") {
alert("GOT THERE");
}
两种方式。
用于局部变量的Typeof
你可以使用typeof测试本地对象:
if (typeof object !== "undefined") {}
全局变量窗口
你可以通过检查window对象来测试全局对象(在全局作用域中定义的对象):
if (window.FormData) {}
你可以使用:
if (typeof objectName == 'object') {
//do something
}
将文本框值设置为一帧到内联帧使用div对齐选项卡面板。 所以首先,在设置值之前,我们需要检查所选择的标签面板框架可用或不使用以下代码:
Javascript代码:
/////////////////////////////////////////
<script>
function set_TextID()
{
try
{
if(!parent.frames["entry"])
{
alert("Frame object not found");
}
else
{
var setText=document.getElementById("formx").value;
parent.frames["entry"].document.getElementById("form_id").value=setText;
}
if(!parent.frames["education"])
{
alert("Frame object not found");
}
else
{
var setText=document.getElementById("formx").value;
parent.frames["education"].document.getElementById("form_id").value=setText;
}
if(!parent.frames["contact"])
{
alert("Frame object not found");
}
else
{
var setText=document.getElementById("formx").value;
parent.frames["contact"].document.getElementById("form_id").value=setText;
}
}catch(exception){}
}
</script>