//当实例对象和原型中都有sex信息的时候,访问对象的属性获取的是谁的信息呢?
    function Person(age,sex) {
    this.age=age;
    this.sex=sex;
    }
    Person.prototype.sex=”女”;
    var per=new Person(10,”男”);
    console.log(per.sex);
    每当代码读取某个对象的某个属性时,都会执行一次搜索,目标是具有给定名字的属性
    1. 搜索首先从对象实例本身开始
    2. 如果在实例中找到了具有给定名字的属性,则返回该属性的值
    3. 如果没有找到,则继续搜索指针指向的原型对象,在原型对象中查找具有给定名字的属性
    4. 如果在原型对象中找到了这个属性,则返回该属性的值
    5. 如果在原型对象中没有找到这个属性,则继续从父亲的原型中查找,有就返回
    也就是说,在我们调用 per.sex 的时候,会先后执行两次搜索:
    1. 首先,解析器会问:“实例 per 有 sex 属性吗?”答:“没有。
    2. 然后,它继续搜索,再问:“ per 的原型有 sex 属性吗?”答:“没有。
    3. 于是,它就从父亲的原型中查找有没有sex
    而这正是多个对象实例共享原型所保存的属性和方法的基本原理。
    总结:
    1. 先在自己身上找,找到即返回
    2. 自己身上找不到,则沿着原型链向上查找,找到即返回
    3. 如果一直到原型链的末端还没有找到,则返回 undefined