国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript創建類/對象的幾種方式概述及實例

2024-05-06 15:48:00
字體:
來源:轉載
供稿:網友
JS中的對象強調的是一種復合類型,JS中創建對象及對對象的訪問是極其靈活的,下面與大家分享下創建類/對象的幾種方式,感興趣的朋友可以了解下哈

在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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 新建县| 锡林郭勒盟| 正阳县| 玛多县| 长宁区| 宁夏| 白山市| 封开县| 乌拉特前旗| 登封市| 德昌县| 察哈| 阳谷县| 二手房| 石城县| 邮箱| 永仁县| 获嘉县| 汾西县| 镇雄县| 宁阳县| 扎鲁特旗| 松潘县| 镇沅| 东乌珠穆沁旗| 磐石市| 盐城市| 建阳市| 永新县| 清新县| 河南省| 曲阳县| 吐鲁番市| 甘谷县| 苏尼特右旗| 彭阳县| 准格尔旗| 昌乐县| 玉溪市| 太仆寺旗| 宝山区|