当前位置
当前位置:万博体育手机版登录入口 > 万博体育手机版登录入口 >

JavaScript创建对象方式及性能问题

文章作者:admin 发布时间:2019-11-28 19:26

  过去通过Object对象, 或者通过字面量, 或者通过工厂函数创建的对象, 我们无法判断这个对象是谁创建出来的,但是通过构造函数创建的对象, 我们可以判断这个对象是谁创建出来的(见代码里obj.constructor)

  默认情况下每一个对象都有一个隐藏的属性, 叫做constructor, 这个属性指向了创建当前对象的构造函数

  弊端:因为将函数定义在了全局作用域中, 所以如果定义了多个函数, 会导致全局作用域的名称匮乏

  在JavaScript中,每一个构造函数都有一个默认的属性, 这个属性叫做prototype,prototype属性指向一个对象, 这个对象我们称之为构造函数的原型对象

  既然构造函数的prototype就对应一个对象, 所以我们就可以将方法都放到这个对象中

  注意点:所有通过同一个构造函数创建出来的对象, 都可以访问该构造函数的原型对象,并且所有通过同一个构造函数创建出来的对象, 访问的都是同一个原型对象