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.兵種 ="美國大兵"
相關文章
相關標籤/搜索