1. in 和 hasOwnProperty
in會檢查對象和它的整條原型鏈,hasOwnProperty只會檢查對象本身,不會檢查原型鏈
let a = {name: 'rick'} let b = {} b.__proto__ = a b.hasOwnProperty('name') // fasle 'name' in b // true
2. 用undefined判斷
var o={x:1}; o.x!==undefined; //true o.y!==undefined; //false