1、in 运算符
如果指定的属性在指定的对象或其原型链中,则in 运算符返回true
'name' in test //true
'un' in test //true
'toString' in test //true
'age' in test //false
这种方式的局限性就是无法区分自身和原型链上的属性
2、hasOwnProperty()
test.hasOwnProperty('name') //true 自身属性
test.hasOwnProperty('age') //false 不存在
test.hasOwnProperty('toString') //false 原型链上属性
适用于只判断自身属性的场景