JS學習四(物件)

2021-09-25 07:12:34 字數 2542 閱讀 7366

1、var object1={};(物件字面量)

object1 =

};2、過new object()建立物件

var obj = new object(); //建立乙個空物件,{}

var arr = new array(); //空陣列,

var date = new date(); //日期時間物件

var reg = new regexp('js'); //建立正則物件

3、通過建構函式建立

function test(num1, num2)

var obj5 = new test(5, 6);

4、通過object.create()建立物件

var obj = object.create();

//建立乙個普通的空物件

var obj = object.create(object.prototype);

var object1 = ,

info=function()

};訪問屬性:object1.username; //king

//或者

object1['married']; //true

修改屬性:object1.username=『king1』; //king1

刪除屬性:delete obj.username;

新增屬性:object1.other='other'

var obj=;

console.log('x' in obj);//是否包含x屬性

console.log(obj.hasownproperty('x'));//是否包含x屬性

console.log(obj.propertyisenumerable('x'));//x屬性是物件自己的並且是可列舉的返回true

//獲取所有屬性(包括繼承的屬性)

for(var p in obj)

//返回所有自有屬性的名稱

console.log(object.getownpropertynames(obj));

console.log(object.keys(obj));

//定義(修改)屬性的特性

object.defineproperty(obj,'y',);

屬性特性與屬性操作的對應關係:

例項:

var obj1=;

//建立乙個屬性

object.defineproperty(obj1,'x',);

obj1.x=2;

console.log(obj1.x);//1

object.defineproperty(obj1,'x',);

console.log(obj1.x);//3

obj1.x=5;

console.log(obj1.x);//5

//如果屬性不可配置,但是可以把writable的true變成false,但不能將false變為true

object.defineproperty(obj1,'y',);

obj1.y=6;//6

console.log(obj1.y);

object.defineproperty(obj1,'y',);

obj1.y=10;

console.log(obj1.y);//6

//獲取物件的特性描述資訊

console.log(object.getownpropertydescriptor(obj1,'y'));

/**/

var newobj=;

var newobj1=object.create(newobj);

console.log(newobj1.isprototypeof(newobj));//true

console.log(object.prototype.isprototypeof(newobj));//true

//同時設定多個屬性

var person={};

object.defineproperties(person,,

age:

});//檢測乙個物件是否是另外乙個物件的原型(或者處於原型鏈中)

var obj=;

var obj1=object.create(obj);

console.log(obj.isprototypeof(obj1));

console.log(object.prototype.isprototypeof(obj1));

object.i***tensible(obj);//物件是否可擴充套件

object.seal(obj);//將物件設為不可擴充套件(即將物件設定為不可擴充套件,同時將物件的所有自有屬性都設定為不可配置)

object.freeze(obj);//阻止修改現有屬性的特性和值,並阻止新增新屬性。

C 學習 四 物件陣列與物件指標

2 物件指標 1.1 格式 一維陣列格式 類名 陣列名 下標表示式 例 有五個學生的分數需要描述,定義score陣列,每乙個陣列元素都是score類的乙個物件。score rec 5 定義類score的物件陣列rec,含有5物件陣列物件。在建立陣列時,同樣要呼叫建構函式。有幾個陣列元素就要呼叫幾次建...

js筆記 基礎篇 四 物件and建構函式

toc js筆記 基礎篇 四 物件and建構函式 物件可以說是js中非常重要的乙個資料結構,還有一種說法js中一切皆物件,我們在編寫js時用的最多的是物件字面量 var obj 但是在 復用等需求下,這種寫法是不好的,我們假設有不同的車子,長寬高固定,但是顏色之類可以自己選 var car1 var...

js學習筆記 028 物件的建立

可以通過直接量,關鍵字new和ecmascript 5 object.create 函式來建立物件。物件直接量 若干名值對組成的對映表,名值對中間用冒號分開,名值對之間用逗號分隔。整個對映錶用括號括起來。通過new建立物件 關鍵字new後跟隨乙個函式呼叫。這裡的函式稱為建構函式,建構函式用以初始化乙...