JavaScript中屬性和特性是完全不同的兩個概念,這里我將根據(jù)自己所學(xué),來深入理解JavaScript中的屬性和特性。

主要內(nèi)容如下:

  • 理解JavaScript中理解對象的本質(zhì)、理解對象與類的關(guān)系、對象與引用類型的關(guān)系
  • 對象屬性如何進行分類
  • 屬性中特性的理解

 

第一部分:理解JavaScript中理解對象的本質(zhì)、理解對象與類的關(guān)系、對象與引用類型的關(guān)系

對象的本質(zhì):ECMA-262把對象定義為:無序?qū)傩缘募?,其屬性可以包含基本值、對象或者函?shù)。即對象是一組沒有特定順序的值,對象的每個屬性或方法都有一個名字,而這個名字都映射到一個值。故對象的本質(zhì)是一個散列表:其中是一組名值對,值可以是數(shù)據(jù)或函數(shù)。

對象和類的關(guān)系:在JavaScript中,對象和類沒有任何關(guān)系。這是因為ECMAScript中根本就沒有類的概念,它的對象與其他基于類的語言中的對象是不同的

 對象和引用類型的關(guān)系:對象和引用類型并不是等價的,因為每個對象都是基于一個引用類型創(chuàng)建的

第二部分:對象屬性如何進行分類

由構(gòu)造函數(shù)或?qū)ο笞置媪糠椒▌?chuàng)建的對象中具有屬性和方法(只要提到屬性和方法,它們一定是屬于對象的;只要提到對象,它一定是具有屬性和方法的(自定義除外)),其中屬性又可分為數(shù)據(jù)屬性和訪問器屬性,他們的區(qū)別如下:

  • 數(shù)據(jù)屬性一般用于存儲數(shù)據(jù)數(shù)值,訪問器屬性不包含數(shù)據(jù)值
  • 訪問器屬性多用于get/set操作

 

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式