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 种方式可以访问一个对象的属性:

    1. 用方括号的形式,比如MyObject['age']
    2. 使用句号的形式,比如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());

  

 

posted @ 2012-03-27 21:11  失落心灵  阅读(1216)  评论(1编辑  收藏  举报