new笔记

搜索: 方应航 newbash

例子

var object = new Object()
复制代码

自由属性 空
object.proto === Object.prototype函数

var array = new Array(`a`,`b`,`c`) 
复制代码

自由属性 0: 'a' 1:'b' 2:'c' array.proto === Array.prototype
Array.protype.proto === Object.prototypespa

var fn = new Function('x','y','return x+y')
复制代码

自由属性 length:2,不可见的函数体: 'return x+y' fn.proto === Function.prototypeprototype

Array is a function Array = function(){...} Array.proto === Function.prototypecode

注意

使用new时,须要记录下来是谁创造了这个对象。因此会有一个默认的prototyoe = {constructor: 士兵},若是咱们直接对prototype赋一个对象,那么原来的prototype就会被回收。那么有两种方法能够解决这个问题:对象

  1. 在士兵.prototype={···}中添加 constructor: 士兵
  2. 在原有的士兵.prototype上添加属性,好比 士兵.prototype.兵种 ="美国大兵"
相关文章
相关标签/搜索