This和Prototype定義方法的區別

2022-02-18 04:47:15 字數 779 閱讀 7932

this 是指代上下文中的this物件

1.利用this實現的方法,可以訪問類中的私有變數和私有方法。而利用原型物件實現的方法,無法訪問類中的私有變數和方法

function person(x)

}//通過prototype實現的原型物件上的方法

person.prototype.say = function()

// 生成例項

var person1 = new person(1)

person1.hello() // "this is private"

person1.say() // referenceerror: a is not defined

2.例項訪問物件的屬性或者方法時,將按照搜尋原型鏈prototype chain的規則進行。首先查詢自身的靜態屬性、方法,繼而查詢構造上下文的可訪問屬性、方法,最後查詢構造的原型鏈。

function test()

}test.prototype.test = function()

var _o = new test()

_o.test() //"defined by this"

3.「this」和「prototype」定義的另乙個不同點是在記憶體中占用空間不同。使用「this」關鍵字,例項初始化時為每個例項開闢構造方法所包含的所有屬性、方法和所需空間,而使用prototype定義的,由於「prototype」實際上是指向父級的引用,因此在初始化和儲存上比「this」節約資源。

singleton和prototype的區別

默 認情況下,從bean工廠所取得的例項為singleton bean的singleton屬性 singleton spring容器只存在乙個共享的bean例項,預設的配置。prototype 每次對bean的請求都會建立乙個新的bean例項。二者選擇的原則 有狀態的bean都使用prototype...

singleton和prototype的區別

默 認情況下,從bean工廠所取得的例項為singleton bean的singleton屬性 singleton spring容器只存在乙個共享的bean例項,預設的配置。那麼spring ioc容器 中只會存在乙個 共享的bean實 例,並且所有對bean的請求,只要id與該bean定義相匹配,...

JQuery和Prototype區別小結

jquery使用得比較順手也比較喜歡,不得已也要用prototype,小小整理下區別。jquery document ready function jquery shorthand function prototypedocument observe dom loaded function jque...