目录
Object对象
JavaScript除了五种基本数据类型,其他的都是对象。
简单来说,一个对象就像一个东西,比如苹果、汽车等都是一个对象。
每一个对象都有它的特性,苹果的颜色、味道、大小等。
颜色有红的、绿的;味道有甜的、酸的;大小有大的、小的;这些特性在Javascript中叫做对象的属性(property),对象里的属性就相当于对象里面的变量。
对象中也有一些行为,比如汽车可以前进后退;手机可以打电话等,这些行为在JavaScript里面叫做方法(method),有时候方法也会称为对象中的属性。
创建对象
简单创建Object:var objectName = {};
不难,直接上代码
var beyond = {};
beyond.formedIn = '1993';
beyond['foundedIn'] = '香港';
console.log(beyond);
// 等价于
var beyond = {
fromedIn: '1993',
foundedIn:'香港',
};
对象里的数组
对象里面的属性可以是任何类型的数据 字符串、数字、数组等等。
var beyond = {
fromedIn: '1993',
foundedIn:'香港',
artist: ['1','2','3']
};
更新和删除对象的属性
更新跟定义对象属性是一样的,删除用delete,还是以beyond为例。
var beyond = {
fromedIn: '1993',
foundedIn:'香港',
artist: ['1','2','3']
};
beyond.foundedIn = '哈尔滨';
delete beyond.fromedIn;
console.log(beyond);
beyond中的foundedIn 变为 '哈尔滨',fromedIn属性被删除。
为对象添加新方法
就是添加一个函数,this在不同情景下代表的东西不同,这里代表对象本身,就是beyond本身。
beyond.showArtist = function () {
for (var i = 0; i < this.artist.length; i++){
document.writeln(this.artist[i]);
}
}
循环输出对象的属性
用 for in循环来输出对象属性
var property;
for (property in beyond){
console.log(beyond[property]);
}
for (property in beyond){
if (typeof beyond[property] != 'function'){//不输出方法属性
console.log(beyond[property]);
}
}
console.log(beyond);