prototype/constructor/__proto__之constructor。

1.constructor的字面意思就是构造。它是对象的一个属性,它对应的值是该对象的“构造者”

 //一、构造函数实例化的对象的constructor
 function Cmf(n,m){
   this.n=n;
   this.m=m;
   this.mn=function(){
   return this.n+'|'+this.m
   }
 }
 var cmf=new Cmf('c',"q")
 console.log(cmf.mn()) // c|q
 console.log(cmf.constructor) //  Cmf(n, m)
 //这里可以看出Cmf()实例化的cmf()对象,这个对象的constructor是它的固有属性。

 //二、基本数据类型的constructor
 var yi=154
 console.log(yi.constructor)// Number()
 var li="qdz"
 console.log(li.constructor)//  String()

2.1原型的constructor

 function Cmf(n,m){
   this.n=n;
   this.m=m;
   this.mn=function(){
   return this.n+'|'+this.m
   }
 }

 Cmf.prototype.jn=function(){
   return this.m+"!"+this.n
 }
 var cmf=new Cmf('c',"q")
 console.log(cmf.jn()) //q!c
 console.log(Cmf.prototype) //  Cmf { jn=function()}
 console.log(typeof Cmf.prototype) // object
 console.log(Cmf.prototype.constructor) // Cmf(n, m)
 //上面看出构造函数原型的constructor指向了该构造函数。怎么理解呢,构造函数的原型是个Obj,这个Obj是由什么构成的呢?是它的构造者 构造函数。

2.2 基本数据类型的constructor

  String.prototype.cf=function(n){   //给String.prototype这个obj添加方法cf,字符串乘法
            return    new Array(n+1).join(this)
    }
var d="d"

console.log(d.cf(5)) //ddddd
console.log(String.prototype) // String { cf=function()}
console.log(String.prototype.constructor) // String()
//类似于构造函数
上一篇:怎样将PDF文件转换成Excel表格


下一篇:全景智慧掌上城,飞入寻常百姓家——VR全景智慧城市