zoukankan      html  css  js  c++  java
  • 原型和构造函数(2)

    访问原型的方法

    1,通过构造函数访问原型

     function Person(){
         }
         var p =new Person();
         
        Person.prototype.msg ='在不在'

    2,通过实例化对象访问原型

     function Person(){
         }
         var p =new Person();
    
       p.__proto__.sayHello = function(){
           console.log('你好')//你好
       }
       p.sayHello()

    __proto__属性是一个非标准的属性,为了保证通用性,这个属性不推荐使用。

    __proto__属性的用途,主要用来做调试

    原型图 原型和构造函数,实例化对象三者的关系

    可以看到,每一个构造函数都会有一个prototype属性,这个属性指向一个原型对象,这个构造函数通过new生成一个新的实例对象,这个实例拥有一个__proto__属性,而这个对象这个指向原型对象。

    其中需要注意的是替换原型的时候,需要手动添加constructor

    function Person(){
    
        }
        Person.prototype = {
            name : '刘钢蛋'
        };
        console.log(Person.prototype.constructor);//ƒ Object() { [native code] }

    如果不加constructor属性会导致constructor指向的是Object

    function Person(){
    
        }
        Person.prototype = {
            name : '刘钢蛋',
            constructor: Person
        };
        console.log(Person.prototype.constructor);//ƒ Person(){}
  • 相关阅读:
    转inux Shell编程入门
    转CentOS — MySQL备份 Shell 脚本
    JAVA4种线程池的使用
    http://cyber-dojo.org/
    tomcat内存大小设置
    rails的数据库查询方法
    Java 微信公众号上传永久素材的方法
    微信回复图文消息
    plsql解决64位解决办法
    Ruby中使用patch HTTP方法
  • 原文地址:https://www.cnblogs.com/lrgupup/p/9321988.html
Copyright © 2011-2022 走看看