我有这个if语句寻找json对象:
updateStudentData = function(addUpdateData) {
var rowDataToSave;
if(addUpdateData.data.row) {
rowDataToSave = addUpdateData.data.row;
} else {
rowDataToSave = addUpdateData.data;
}
}
谁能告诉我如何检查json是否具有行对象?目前,我无法读取未定义的行属性。
最佳答案
您有几种选择:
1.测试真实性
if (addUpdateData.data && addUpdateData.data.row) {
这将是最适合您的情况,因为您希望
addUpdateData.data
是对象引用。仅在属性可能具有伪造的值(例如
0
,""
,NaN
,null
,undefined
或(当然)false
)时,才真正需要接下来的两个选择,但是您仍然想要知道物业是否在那里。2.
hasOwnProperty
if (addUpdateData.hasOwnProperty("data") && addUpdateData.data.row) {
这将检查
addUpdateData
是否具有称为“ data
”的“自有”(未继承)属性。在您的情况下没有必要。3.
in
if ("data" in addUpdateData && addUpdateData.data.row) {
这将检查
addUpdateData
是否具有data
属性(它自己的属性还是它继承的属性)。在您的情况下没有必要。