instance of 检测是否包含某个属性
    for in 遍历对象的key值
    for 比 for in 性能好
    hasOwnProperty 检测是否为对象的私有属性

    不想迭代公有属性的处理
    for (let key in obj){
    //先找私有 一旦发现这个是共有的 说明私有的都找完了 不包括symbol
    if(!obj.hasOwnProperty(key)) break;
    console.log(key)
    }

    object.hasOwnPropertySymbol(obj) 获取对象所有Symbol的私有属性,结果为数组
    object.keys(obj) || object.hasOwnPropertyNames(obj) 获取所有非Symbol的私有属性,结果为数组