我有一个可能有也可能没有状态的对象。使用angular.js框架时更合适。两者的优点和缺点是什么。
var checkStatus = function(item){
if(angular.isDefined(item.status){
//do something
}
//VS.
if(item.hasOwnProperty('status')){
//do something
}
}
checkStatus(item);
答案 0 :(得分:23)
angular.isDefined
仅测试值是undefined
:
function isDefined(value){return typeof value !== 'undefined';}
Object.hasOwnProperty
测试该值是否为直接值而不是继承值。
例如:
var test = {};
angular.isDefined(test.toString); // true
test.hasOwnProperty('toString'); // false