如何检查变量属性是否为id?

时间:2016-05-15 07:31:11

标签: javascript

我有一个名为t的变量。

有时这个变量等于某个对象:

var t = {id:2 Name:"Mike" };

有时候这个变量可能只包含string.Like:

 var t = "someString";

在某些时候,我需要检查变量是否是对象,以及它是否包含名为id的属性。

如何检查变量是否为object并包含名为id的属性?

3 个答案:

答案 0 :(得分:4)

您可以使用&&(和)运算符

if (t && t.id && td.id === "blah")

或更短:

if (t && t.id === "blah")

答案 1 :(得分:3)

使用typeofhasOwnProperty

if(typeof t == 'object' && t.hasOwnProperty('id')) {
     //your code for using t.id
}

答案 2 :(得分:1)

您可以使用toString.call(value) === '[object Object]'toString.call(value) === '[object String]'

检查变量

var t = {
  id: 2,
  Name: "Mike"
};

function isObject(value, property) {
  return value !== null && toString.call(value) === '[object Object]' && value.hasOwnProperty(property);
}

function isString(value) {
  return value !== null && toString.call(value) === '[object String]';
}

document.write("isObject : " + isObject(t, 'id') + " | " + "isString : " + isString(t) + "<br>");

var t = "blabla";

document.write("isObject : " + isObject(t, 'id') + " | " + "isString : " + isString(t));