JavaScript中的面向对象【一】
创建一个对象
var MyObject = {
name:'John',
age:18
}
你可以看到:
- 对象的名字为MyObject
- 用{和}来定义对象
- 通过逗号来分隔包含在对象中的元素(叫做属性)
- 键值对通过分号分隔,如key:value
对象可以包含任何数据,当然也可以包含其它对象。
var MyObject02 = {
name: 'John',
age: 18,
say: function () {
return this.name + '在说话°';
},
eat: function (name) {
return name + '在吃饭';
},
myObj: {
name: 'Jack',
age: 20
}
}
访问对象的属性
有 2 种方式可以访问一个对象的属性:
- 用方括号的形式,比如MyObject['age']
- 使用句号的形式,比如MyObject.name
为了访问包含在myObj对象中的name属性,你可以:
MyObject02.myObj.name //或者使用方括号的形式: MyObject02['myObj']['name'] //句号形式与方括号的混合形式的使用也是可以的: MyObject02['myObj'].name MyObject02.myObj['name']
一个使用方括号形式的情况是,在你想访问这个属性的时候预先不知道属性的名字是什么。而是在运行时定义在一个变量中:
var name = 'name'; alert(MyObject02.myObj[name]);
调用对象的方法
因为方法跟属性是一样的,只不过它是一个函数而已,可以像访问属性一样的访问方法:
MyObject02.say()
MyObject02.eat('Mary')
MyObject02['eat']('Mary')
改变对象属性/方法
JavaScript 是一个动态语言;它可以允许你在任何时候改变已存在对象的属性和方法。这也包括添加新的属性或者删除它们。
添加
- 对象.属性 = value;
- 对象.方法 = function(){….}
- 对象.对象 = {…}
删除
- delete 对象.属性/方法/对象
//定义一个空的对象
var MyObject = {};
//访问对象不存在的属性,返回结果是undefined
alert(MyObject.name);
//给对象添加一个属性
MyObject.name = 'John';
//给对象添加一个方法
MyObject.say = function () {
return this.name + '在说话';
};
//给对象添加一个对象
MyObject.myObj = {
name:'Jack',
age:18
}
//访问对象
alert(MyObject.name);
alert(MyObject.say());
alert(MyObject.myObj.name);
//删除对象的属性
delete MyObject.name;
//访问已删除的属性将返回undefined
alert(MyObject.name);
alert(MyObject.say());

浙公网安备 33010602011771号