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

首頁(yè) > 編程 > JavaScript > 正文

JavaScript創(chuàng)建類/對(duì)象的幾種方式概述及實(shí)例

2019-11-20 22:44:49
字體:
供稿:網(wǎng)友
在JS中,創(chuàng)建對(duì)象(Create Object)并不完全是我們時(shí)常說的創(chuàng)建類對(duì)象,JS中的對(duì)象強(qiáng)調(diào)的是一種復(fù)合類型,JS中創(chuàng)建對(duì)象及對(duì)對(duì)象的訪問是極其靈活的。

JS對(duì)象是一種復(fù)合類型,它允許你通過變量名存儲(chǔ)和訪問,換一種思路,對(duì)象是一個(gè)無序的屬性集合,集合中的每一項(xiàng)都由名稱和值組成(聽起來是不是很像我們常聽說的HASH表、字典、健/值對(duì)?),而其中的值類型可能是內(nèi)置類型(如number,string),也可能是對(duì)象。
一、由一對(duì)大括號(hào)括起來
復(fù)制代碼 代碼如下:

var emptyObj = {};
var myObj =
{
'id': 1, //屬性名用引號(hào)括起來,屬性間由逗號(hào)隔開
'name': 'myName'
};
//var m = new myObj(); //不支持

 不知你注意到對(duì)象都是用 var 聲明的沒有,像上面的代碼,就只是簡(jiǎn)單的聲明一個(gè)對(duì)象,它只有一份拷貝,你不能像實(shí)例化類對(duì)象一樣對(duì)它采用new操作,像上面代碼的注釋部分。這樣就極大的限制了對(duì)象的重用,除非你建立的對(duì)象只需要一份拷貝,否則考慮用其他方法建立對(duì)象。
  下面一起看看如何訪問對(duì)象的屬性和方法。
復(fù)制代碼 代碼如下:

var myObj =
{
'id': 1,
'fun': function() {
document.writeln(this.id + '-' + this.name);//以"對(duì)象.屬性"方式訪問
},
'name': 'myObj',
'fun1': function() {
document.writeln(this['id'] + '+' + this['name']);//以集合方式訪問
}
};
myObj.fun();
myObj.fun1();
// 結(jié)果
// 1-myObj 1+myObj

二、用 function 關(guān)鍵字模擬 class
在 function 中用 this 引用當(dāng)前對(duì)象,通過對(duì)屬性的賦值來聲明屬性。如果用var聲明變量,則該變量為局部變量,只允許在類定義中調(diào)用。
復(fù)制代碼 代碼如下:

function myClass() {
this.id = 5;
this.name = 'myclass';
this.getName = function() {
return this.name;
}
}
var my = new myClass();
alert(my.id);
alert(my.getName());
// 結(jié)果
// 5
// myclass

三、在函數(shù)體中創(chuàng)建一個(gè)對(duì)象,聲明其屬性再返回
在函數(shù)體中創(chuàng)建對(duì)象可利用第一點(diǎn)的方法,或先 new Object(); 再為各屬性賦值。
不過用這種方式創(chuàng)建的對(duì)象在VS2008 SP1中是沒有智能提示的。
復(fù)制代碼 代碼如下:

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);
// 結(jié)果
// 2
// myclass
// 1
// _myclass
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 同德县| 台北县| 桦甸市| 乌兰浩特市| 高邮市| 临海市| 衡水市| 山西省| 泗洪县| 赞皇县| 康马县| 灯塔市| 清镇市| 新龙县| 土默特右旗| 成安县| 株洲县| 宜城市| 眉山市| 珠海市| 桐柏县| 青田县| 广汉市| 南木林县| 榆树市| 昭通市| 东丰县| 瑞昌市| 安康市| 阳高县| 苗栗市| 安平县| 类乌齐县| 合川市| 禹城市| 高邮市| 汝城县| 北辰区| 黄骅市| 肥西县| 永安市|