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

