1. 程式人生 > >關於javascript物件的一些總結

關於javascript物件的一些總結

javascript中的物件分為全域性物件,自定義物件


全域性物件指的是對javascript中各種事物的上下文環境。

包括:javascript中所有的內建物件,如String,Number。javascript中的內建屬性以及瀏覽器物件


在瀏覽器環境下直接用window物件即可,其他環境使用如下方法:
function getGlobal(){
  return (function(){return this;
}).call(null);


}
全域性屬性
Infinity:一個代表無窮大的數值
NaN:返回一個特定的值,表示這不是數值

undefined:該值表示識別符號未定義


全域性物件類:是全域性物件的直接成員,是其他資料型別作為基類的成員
所有的全域性物件類都是從單個基類繼承而來的:Object 物件
Number,Math,Date…


Object物件:
Object物件是javascript中的所有物件的基類
語法:new Object([value])
constructor:定義建立該物件的建構函式  object.constructor
prototype:允許擴充套件物件,為物件的所有例項新增新的方法


物件的原型:

javascript使用原型繼承(prototypal  inheritance)的方式來實現面向物件
通過定義原型的方式建立物件



檢查是否有指定的屬性使用hasOwnProperty();


valueOf()與toString()方法
都是返回值,列印文字用toString,返回基本值就用valueOf
可以自己編寫新的toString()方法,該方法可以擴充套件所有位於原型鏈下游的物件,從而使這些物件也具有自定義的toString()方法
Object.prototype.toString=function(){
var result=””;

for (prop in this )
{  
 result+=prop +”:”+this[prop].toString()+”,”;
return result;
}
var person={name:my,age:90};
person.toString();


}


合併物件:將物件的合併功能構件進物件自身的定義中

使用prototype屬性為Object物件新增一個合併物件的函式即可實現該功能



自定義物件:



面向物件的javascript
在基於“類”的面向物件程式設計語言中,行為的重用是通過類實現
在基於“原型”的面向物件程式設計語言中,行為的重用是通過複製已存在的物件實現的


物件一般具有3個主要的部分
1、 建構函式
2、 多個方法
3、 多個屬性
當初始化物件時,將呼叫該物件的建構函式。在建構函式中可以設定物件的某些屬性。有時,建構函式除了建立特定類的例項之外,並不完成任何其他功能


建立物件
1、 使用new object();
2、 使用物件字面量persn={name :am,age:12}


刪除屬性與物件
使用delete關鍵字


物件是一種引用型別,我們複製物件時,實際上僅僅複製了一個指向該物件的引用


比較物件
不能使用==與===,同時遍歷兩個物件比較


克隆物件
建立一個完全相同的副本,使用遍歷


靜態成員
是類的固定成員,在程式中的任何位置都可以訪問他們,並且不需要建立類的例項。javascript中只需將成員直接新增到物件的例項中即可高效地將一個成員定義為靜態成員


私有成員:
建立了某個屬性或者方法,但是不希望暴露該屬性與方法(即只允許該類的內部其他方法呼叫該屬性或者方法)過去,在成員名稱之前使用一個或者兩個下劃線的方式說明該成員為私有成員,或者在類的建構函式中建立這些屬性與方法。


Get存取器與Set存取器
對於類而言,get存取器就是返回某個屬性值的方法,set用於設定屬性的值