使用js/jQuery检查对象(而不是元素)是否真的存在

Check if an object (not an element) really exists with js/jQuery

本文关键字:元素 是否 存在 真的 js jQuery 检查 对象 使用      更新时间:2023-09-26

我得到了这串代码,数据是在ajax环境中的成功回调中返回的值:

$('#cpt_rspp_value').text(data.Payload.Clerks.rspp.full_name)
$('#cpt_ddl_value').text(data.Payload.Clerks.ddl.full_name)
$('#cpt_rls_value').text(data.Payload.Clerks.rls.full_name)
$('#cpt_mc_value').text(data.Payload.Cler.mc.full_name)
$('#cpt_se_value').text(data.Payload.Clerks.se.full_name)

如果rspp真的存在于DB中,那么对象data.Payload.Clerks.rspp.full_name就会出现,所以我可以把它放在正确的位置(即:#cpt_rspp_value)。但是,唉,如果该对象不存在,js解释器将停止,因此,即使下一个对象data.Payload.Clerks.ddl.full_namedata.Payload.Clerks.rls.full_name等将出现,该行也永远不会被处理。

我应该"如果"任何行,但如何?if(data.Payload.Clerks.rspp.full_name)if(data.Payload.Clerks.rspp.full_name != null)不能解决该问题。我能做什么?

您可以使用typeofjavascript运算符来检查对象是否定义了

if(typeof data.Payload.Clerks.rspp.full_name != 'undefined')

if(typeof data.Payload.Clerks.rspp != 'undefined')

用于检查它是否严格为object

if(typeof myobject === 'object')

在您的情况下,检查string

if( typeof data.Payload.Clerks.rspp.full_name === 'string')

个人意见-您可以只使用if(rspp.full_name),因为它在更大的方案中是一个微不足道的检查。(根据问题中的内容):)