JavaScript 建立類/物件的幾種方式
在JS中,建立物件(Create Object)並不完全是我們時常說的建立類物件,JS中的物件強調的是一種複合型別,JS中建立物件及對物件的訪問是極其靈活的。
JS物件是一種複合型別,它允許你通過變數名儲存和訪問,換一種思路,物件是一個無序的屬性集合,集合中的每一項都由名稱和值組成(聽起來是不是很像我們常聽說的HASH表、字典、健/值對?),而其中的值型別可能是內建型別(如number,string),也可能是物件。
var emptyObj = {};
var myObj =
{
'id': 1, //屬性名用引號括起來,屬性間由逗號隔開
'name': 'myName'
};
//var m = new myObj(); //不支援
不知你注意到物件都是用 var 宣告的沒有,像上面的程式碼,就只是簡單的宣告一個物件,它只有一份拷貝,你不能像例項化類物件一樣對它採用new操作,像上面程式碼的註釋部分。這樣就極大的限制了物件的重用,除非你建立的物件只需要一份拷貝,否則考慮用其他方法建立物件。
下面一起看看如何訪問物件的屬性和方法。
var myObj =
{
'id': 1,
'fun': function() {
document.writeln(this.id + '-' + this.name);//以"物件.屬性"方式訪問
},
'name': 'myObj',
'fun1': function() {
document.writeln(this['id'] + '+' + this['name']);//以集合方式訪問
}
};
myObj.fun();
myObj.fun1();
// 結果
// 1-myObj 1+myObj
二、用 function 關鍵字模擬 class
在 function 中用 this 引用當前物件,通過對屬性的賦值來宣告屬性。如果用var宣告變數,則該變數為區域性變數,只允許在類定義中呼叫。
function myClass() {
this.id = 5;
this.name = 'myclass';
this.getName = function() {
return this.name;
}
}
var my = new myClass();
alert(my.id);
alert(my.getName());
// 結果
// 5
// myclass
三、在函式體中建立一個物件,宣告其屬性再返回
在函式體中建立物件可利用第一點的方法,或先 new Object(); 再為各屬性賦值。
不過用這種方式建立的物件在VS2008 SP1中是沒有智慧提示的。(這個到是無所謂反正我不用這個的~哈哈。。)
function myClass() {
var obj =
{
'id':2,
'name':'myclass'
};
return obj;
}
function _myClass() {
var obj = new Object();
obj.id = 1;
obj.name = '_myclass';
return obj;
}
var my = new myClass();
var _my = new _myClass();
alert(my.id);
alert(my.name);
alert(_my.id);
alert(_my.name);
// 結果
// 2
// myclass
// 1
// _myclass
相關文章
- javascript建立物件的幾種方式JavaScript物件
- JavaScript類建立的幾種方式JavaScript
- JavaScript物件的建立方式有幾種?JavaScript物件
- [轉載]javascript建立物件的幾種方式JavaScript物件
- js建立物件的幾種方式JS物件
- javascript建立物件的三種方式JavaScript物件
- JavaScript 建立物件的七種方式JavaScript物件
- js中建立物件的幾種方式JS物件
- js中建立物件的幾種常用方式JS物件
- JavaScript 建立物件的方式JavaScript物件
- JavaScript物件與建立物件的方式JavaScript物件
- 在 .NET 中建立物件的幾種方式的對比物件
- 建立物件的幾種模式物件模式
- javascript一種新的物件建立方式-Object.create()JavaScript物件Object
- [php]建立物件的幾種形式PHP物件
- java建立物件的五種方式Java物件
- 建立Session物件的兩種方式Session物件
- JavaScript的幾種繼承方式JavaScript繼承
- JavaScript 深入之建立物件的多種方式以及優缺點JavaScript物件
- JavaScript深入之建立物件的多種方式以及優缺點JavaScript物件
- 物件導向:類的定義和繼承的幾種方式物件繼承
- Java 建立類的四種方式Java
- JavaScript建立物件的多種方法JavaScript物件
- Java中建立物件的5種方式Java物件
- 實現 JavaScript 沙箱的幾種方式JavaScript
- JS中建立函式的幾種方式JS函式
- 執行緒池建立的幾種方式執行緒
- JavaScript~檔案下載的幾種方式JavaScript
- javascript獲取url地址的幾種方式JavaScript
- JavaScript新的物件建立方式---Object.create()JavaScript物件Object
- Javascript中的幾種繼承方式比較JavaScript繼承
- 五種方法建立java物件,你知道幾種呢?Java物件
- javascript實現的繼承的幾種常用方式JavaScript繼承
- JavaScript建立物件4種方法詳解JavaScript物件
- 【Spark篇】---SparkSQL初始和建立DataFrame的幾種方式SparkSQL
- 好程式設計師分享JavaScript建立物件的方式!程式設計師JavaScript物件
- JS 基礎篇(一):建立物件的四種方式JS物件
- javascript:建構函式模式(為什麼這種方式也可以建立物件)JavaScript函式模式物件