prototype这个属性只有函数对象才有,具体的说就是构造函数具有.只要你声明定义了一个函数对象,这个prototype就会存在对象实例是没有这个属性,__proto__是JS实现的自有属性,赋予对象实例的,通过__proto__这个属性指向这个对象实例的原型对象,这要通过new操作符构建的对象都有这个属性__proto__prototype属性指向一个对象当对一个对象的某个属性执行赋值操作的时候,如果这个属性在当前对象上不存在的话,但在原型对象上存在且是只读的,那么这个赋值操作无效;