现在的位置: 首页 > web前端 > 正文

javascript构造函数

2020年07月09日 web前端 ⁄ 共 841字 ⁄ 字号 评论关闭

  构造函数就是初始化一个实例对象,对象的prototype属性是继承一个实例对象。


  构造函数注意事项:


  1.默认函数首字母大写


  2.构造函数并没有显示返回任何东西。new操作符会自动创建给定的类型并返回他们,当调用构造函数时,new会自动创建this对象,且类型就是构造函数类型。


  3.也可以在构造函数中显示调用return.如果返回的值是一个对象,它会代替新创建的对象实例返回。如果返回的值是一个原始类型,它会被忽略,新创建的实例会被返回。


  functionPerson(name){


  this.name=name;


  }


  varp1=newPerson('John');


  等同于:


  functionperson(name){


  Objectobj=newObject();


  obj.name=name;


  returnobj;


  }


  varp1=person("John");


  构造函数怎么办


  1.因为构造函数也是函数,所以可以直接被调用,但是它的返回值为undefine,此时构造函数里面的this对象等于全局this对象。this.name其实就是创建一个全局的变量name。在严格模式下,当你补通过new调用Person构造函数会出现错误。


  2.也可以在构造函数中用Object.defineProperty()方法来帮助我们初始化:


  functionPerson(name){


  Object.defineProperty(this,"name"{


  get:function(){


  returnname;


  },


  set:function(newName){


  name=newName;


  },


  enumerable:true,//可枚举,默认为false


  configurable:true//可配置


  });


  }


  varp1=newPerson('John')


  总之,构造函数给大家简单的介绍了一些,希望大家多看看。

抱歉!评论已关闭.