什么是對(duì)象
JavaScript 中的所有事物都是對(duì)象,如:字符串、數(shù)值、數(shù)組、函數(shù)等,每個(gè)對(duì)象帶有屬性和方法:(例:一輛顏色是白色的汽車在奔馳。)
對(duì)象的屬性:反映該對(duì)象某些特定的性質(zhì)的,如:字符串的長(zhǎng)度、圖像的長(zhǎng)寬等;
對(duì)象的方法:能夠在對(duì)象上執(zhí)行的動(dòng)作。例如,時(shí)間的“獲取年份”(getFullYear)等;
javascript對(duì)象的聲明和應(yīng)用
創(chuàng)建對(duì)象:
方式一、使用new關(guān)鍵字創(chuàng)建
//定義
var myObject = new Object();//使用new關(guān)鍵字定義對(duì)象,在內(nèi)存里開(kāi)辟一個(gè)無(wú)限擴(kuò)大的空間,可以存放屬性和方法。
myObject.name = "宋鐘基";
myObject.age = 31;
myObject.say = function(){ alert(this.name);}//this:哪個(gè)對(duì)象調(diào)用了這個(gè)方法,那么這個(gè)this指的就是這個(gè)對(duì)象
//調(diào)用
document.write(myObject.name+myObject.age);
myObject.say();
方式二、使用字面量創(chuàng)建
var 對(duì)象名 = {屬性名1:屬性值,屬性名2:屬性值2,…….}
例如:
var myObject = {
name : "宋鐘基",
age : 31,
say : function() {
alert(this.name);
}
}
//調(diào)用
document.write(myObject.name+myObject.age);
myObject.say();
方法三、工廠模式
如果是一個(gè)個(gè)的定義,就會(huì)產(chǎn)生大量的代碼,何不建個(gè)工廠,批量的生產(chǎn)出我們的對(duì)象
function person(name,age){
var myObject = new Object();//使用new關(guān)鍵字定義對(duì)象
myObject .name = name;
myObject .age = age;
myObject .say= function(){alert(this.name);}
return myObject;//返回這個(gè)對(duì)象
}
//調(diào)用
var song=person(“宋鐘基”,“31”);
song.say();
var qiao=person(“宋慧喬”,“36”);
qiao.say();
方式四、構(gòu)造函數(shù)創(chuàng)建對(duì)象
構(gòu)造函數(shù)注意:
1.默認(rèn)函數(shù)首字母大寫(xiě)
2.構(gòu)造函數(shù)并沒(méi)有顯示返回任何東西。new 操作符后邊加構(gòu)造函數(shù)時(shí),new會(huì)自動(dòng)創(chuàng)建this對(duì)象,最后返回this對(duì)象。
function Person(name,age){
//對(duì)象的name屬性
this.name = name;
//對(duì)象的age屬性
this.age= age;
//對(duì)象的say方法
this.say = function(){alert(this.name);};
}
var song= new Person(“宋鐘基”,“31”);
song.say();
var qiao= new Person(“宋慧喬”,“36”);
qiao.say();
本文由網(wǎng)上采集發(fā)布,不代表我們立場(chǎng),轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/39382.html