在JS中,創建對象(Create Object)並不完全是我們時常說的創建類對象,JS中的對象強調的是一種複合類型,JS中創建對象及對對象的訪問是極其靈活的。
JS物件是一種複合類型,它允許你透過變數名稱儲存和訪問,換一種思路,物件是一個無序的屬性集合,集合中的每一項都由名稱和值組成(聽起來是不是很像我們常聽到的HASH表、字典、健/值對?
一、由一對大括號括起來
複製程式碼
代碼:
var emptyObj = {};
var myObj =
{
'id': 1,
' name': 'myName' };
//var m = new myObj(); //不支援
不知你注意到物件都是用var 宣告的沒有,像上面的程式碼,就只是簡單的宣告一個對象,它只有一份拷貝,你不能像實例化類別物件一樣對它採用new操作,像上面程式碼的註解部分。這樣就極大的限制了物件的重複使用,除非你建立的物件只需要一份拷貝,否則考慮用其他方法建立物件。
下面一起看看如何存取物件的屬性和方法。
複製碼
代碼如下:
var myObj =
var myObj =
'fun': function() {
document.writeln(this.id '-' this.name); > 'name': 'myObj',
'fun1': function() {
🎜> }
};
myObj.fun();
myObj.fun1();
myObj.fun1()); myObj.fun1();
複製程式碼
程式碼如下:
f 5;
this.name = 'myclass';
this.get ;
}
}
var my = new myClass() ;
alert(my.id);
alert(my.getName());
// myclass
三、在函數體中建立一個對象,宣告其屬性再返回
在函數體中建立物件可利用第一點的方法,或先 new Object(); 再為各屬性賦值。
不過用這種方式建立的物件在VS2008 SP1中是沒有智慧提示的。
程式碼如下:
function myClass() {
var obj =
:2,
'name':'myclass'
;
}
j.id = 1;
obj.name = '_myclass';
與obj;
}
var my = new myClass();
alert(my.name);
alert (_my.id);
警報(_my.name);
// 結果
// 2
//