判斷API: in / hasOwnProperty
1、in :key是不是能訪問?
只要在對象中可以訪問到key,key in obj 總會返回true
這就包括兩種情況:
(1)自身實例包含key屬性
(2)原型對象上存在key屬性
2、hasOwnProperty:key是否是自身的?
必須是自身實例包含key屬性,才會返回true
obj.hasOwnProperty(key) // true
3、由此可以封裝出函數去判斷:key是否是原型對象上的?
function hasPrototypeProperty(obj,key)
{
return !obj.hasOwnProperty(key)&&(key in obj)
}
測試:以上在IE8上運行均兼容