JavaScript基礎(chǔ)之對(duì)象
1.對(duì)象
1.1什么是對(duì)象?
在JavaScript中,對(duì)象是一組無序的相關(guān)屬性和方法的集合,所有的事物都是對(duì)象,例如字符串、數(shù)值、數(shù)組、函數(shù)等。
對(duì)象是由屬性和方法組成的
- 屬性:事物的特征,在對(duì)象中用屬性來表示
- 方法:事物的行為,在對(duì)象中用方法來表示
1.2為什么需要對(duì)象
保存一個(gè)值時(shí),可以使用變量,保存(一組值)時(shí),可以使用數(shù)組。如果要保存一個(gè)人的完整信息呢?
例如,將張三的個(gè)人信息保存在數(shù)組中的方式為:
var arr = ['張三','男',123,156];
用對(duì)象的方式將張三的個(gè)人信息保存下來,更為清晰一點(diǎn)。
2.創(chuàng)建對(duì)象的三種方式
2.1利用對(duì)象字面量創(chuàng)建對(duì)象{}
對(duì)象字面量:就是{ }里面包含了表達(dá)這個(gè)具體事物的(對(duì)象)的屬性和方法。
<script>
//利用對(duì)象字面量創(chuàng)建對(duì)象{}
var obj = {};//創(chuàng)建了一個(gè)空的對(duì)象
var obj = {
uname: '張三',
age: 18,
sex: '男',
sayhi: function () {
console.log('hi');
}
};
//(1)里面的屬性或方法我們采取鍵值對(duì)的形式 鍵 屬性名: 值 屬性值
//(2)多個(gè)屬性或方法中間用逗號(hào)隔開
//(3)方法后面跟的是一個(gè)匿名函數(shù)
//2.使用對(duì)象
//(1) 調(diào)用對(duì)象的屬性 我們采取 對(duì)象.屬性名的方式
console.log(obj.uname);
//(2)調(diào)用對(duì)象的屬性 對(duì)象名['屬性名']
console.log(obj['age']);
//(3)調(diào)用對(duì)象的方法 對(duì)象名.方法名
obj.sayhi();
</script>
2.2利用new Object創(chuàng)建對(duì)象
// //利用new Object創(chuàng)建對(duì)象
var obj = new Object();//創(chuàng)建了一個(gè)空的對(duì)象
obj.uname = '張三';
obj.age = 18;
obj.sex = '男';
obj.sayhi = function () {
console.log('hi~');
}
console.log(obj['uname']);
console.log(obj.sex);
obj.sayhi();
//(1) 我們是利用 等號(hào)=賦值的方法 添加對(duì)象的屬性和方法
//(2) 每個(gè)屬性和方法之間用 ; 結(jié)束
//案例
var Object = new Object();
Object.uname = '鳴人';
Object.sex = '男';
Object.age = 19;
Object.skill = function () {
console.log('影分身術(shù)');
}
console.log(Object.uname);
Object.skill();
2.3 利用構(gòu)造函數(shù)創(chuàng)建對(duì)象
//我們?yōu)槭裁葱枰褂脴?gòu)造函數(shù)
//就是因?yàn)槲覀兦皟煞N創(chuàng)建對(duì)象的方式一次只能創(chuàng)建一個(gè)對(duì)象
//因?yàn)槲覀円淮蝿?chuàng)建一個(gè)對(duì)象,里面很多的屬性和方法是大量相同的 利用函數(shù)來實(shí)現(xiàn)代碼的復(fù)用 這個(gè)函數(shù)就稱為 構(gòu)造函數(shù)
// 構(gòu)造函數(shù)里封裝的是 對(duì)象
//構(gòu)造函數(shù) 就是把我們對(duì)象里面一些相同的屬性和方法抽象出來封裝到函數(shù)里面
構(gòu)造函數(shù):是一種特殊的函數(shù),主要用來初始化對(duì)象,即為對(duì)象成員變量賦初始值,它總是與new運(yùn)算符一起使用。我們可以把對(duì)象中一些公共的屬性和方法抽象出來,然后封裝到這個(gè)函數(shù)中。
<script>
//利用構(gòu)造函數(shù)創(chuàng)建對(duì)象
//構(gòu)造函數(shù)的語(yǔ)法格式
// function 構(gòu)造函數(shù)名() {
// this.屬性 = 值;
// this.方法 = function() {}
// }
// new 構(gòu)造函數(shù)名();
function Star(uname, age, sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function (song) {
console.log(song);
}
}
var ldh = new Star('劉德華', 18, '男');//調(diào)用函數(shù)返回的是一個(gè)對(duì)象
console.log(typeof ldh);
console.log(ldh.name);
console.log(ldh['sex']);
ldh.sing('冰雨');
var zxy = new Star('張學(xué)友', 36, '男');
console.log(zxy.name);
console.log(zxy['sex']);
zxy.sing('李香蘭');
//1.構(gòu)造函數(shù)名字首字母要大寫
//2.我們構(gòu)造函數(shù)不需要return 就可以返回結(jié)果
//3.我們調(diào)用構(gòu)造函數(shù) 必須使用 new
//4.我們只要new Srart() 調(diào)用函數(shù)就創(chuàng)建了一個(gè)對(duì)象
//5.我們的屬性和方法前面必須加this
</script>
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Javascript常用運(yùn)算符(Operators)-javascript基礎(chǔ)教程
Javascript常用運(yùn)算符(Operators)-javascript基礎(chǔ)教程...2007-12-12
javascript如何創(chuàng)建表格(javascript繪制表格的二種方法)
利用js來動(dòng)態(tài)創(chuàng)建表格有兩種格式,appendChild()和insertRow、insertCell()。兩種方式其實(shí)差不多,但第一種有可能在IE上有問題,所以推薦大家使用第二種方法,看下面的解決和使用方法2013-12-12
淺談Javascript中勻速運(yùn)動(dòng)的停止條件
這篇文章主要給我們探討了Javascript中勻速運(yùn)動(dòng)的停止條件的原理及其與緩沖運(yùn)動(dòng)的區(qū)別,需要的朋友可以參考下2014-12-12
THREE.JS入門教程(4)創(chuàng)建粒子系統(tǒng)
Three.js是一個(gè)偉大的開源WebGL庫(kù),WebGL允許JavaScript操作GPU,在瀏覽器端實(shí)現(xiàn)真正意義的3D本文將介紹創(chuàng)建一個(gè)粒子系統(tǒng)/風(fēng)格/引入物理等等,感興趣的朋友可以了解下哦,希望本文對(duì)你有所幫助2013-01-01
JavaScript展開操作符(Spread operator)詳解
在本篇文章里小編給大家整理的是關(guān)于JavaScript展開操作符(Spread operator)的詳細(xì)介紹以及用法,需要的讀者們參考下。2019-07-07
JavaScript 瀏覽器驗(yàn)證代碼(來自discuz)
很多時(shí)候需要用js判定瀏覽器的版本等信息,這里的代碼是從discuz看到的,其實(shí)大家學(xué)習(xí)的時(shí)候也可以這樣。2010-07-07

