JS 对象声明方式

前两种方法只能声明一个对象,第三种可以声明多个 第二种方法常用
  1. new Object
    var meinv = new Object();
    //添加成员属性
    meinv.name = '赵旭'; // .[] 元素操作符
    meinv.age = 26;
    meinv.heigh = '159cm';
    // 动态特性
    meinv['weight'] = '50kg';
    var str = 'sanwei';
    meinv[str] = '80 50 85';
    // 删除
    delete meinv.weight;
    delete meinv['name'];
    // 获取
    alert(meinv.name);
    alert(meinv[str]);
    console.log(meinv);
    // 成员方法
    meinv.cook = function(){
     alert('我可以做饭');
    }
    meinv.date = function(someone){
     alert('我可以跟'+someone+'约会');
    }
    meinv['clear'] = function(){
     alert('我可以打扫卫生');
    }
    var str = 'chufa';
    meinv[str] = function(){
     alert('我可以开罚单');
    }
    meinv.cook();
    meinv.date('小明');
    meinv[str]();
    
  2. {}元素之间以,分隔
    ```
    var computer = {
    //成员属性
    brand : ‘acer’,
    color : ‘黑色’,
    size : ‘13.3inch’,
    //成员方法
    code : function() {
     alert('我可以编程哦!!!');
    
    }, //这里的逗号不能省略
    movie : function() {
     alert('我可以播放电影....');
    
    },
    game: function(some) {
     alert('我可以跟'+some+'一起玩游戏');
    
    },
    info: function() {
     alert('品牌是'+this.brand+', 尺码是'+this.size+',颜色是'+this.color);
    
    }
    };

//操作
alert(computer.brand);
alert(computer[‘color’]);
var str = ‘size’;
alert(computer[str]);

//调用成员方法
computer.code();
computer‘movie’;
var func = ‘game’;
computerfunc;
computer.info();

3. 构造函数

function Person(name, age, height) {
//初始化成员属性
this.name = name;
this.age = age;
this.height = height;

//创建成员方法
this.xiezuoye = function() {
    alert('我可以代写作业...');
};

this.zhengqian = function() {
    alert('我可以挣钱....');
};

}

//创建对象
var qiangge = new Person(‘李强’,’29’,’180cm’);
var hongkai = new Person(‘宏凯’,’31’,’170cm’);

console.log(qiangge);
console.log(hongkai);

alert(qiangge.age);
alert(hongkai[‘height’]);
var str = ‘name’;
alert(hongkai[str]);

qiangge.xiezuoye();
qiangge‘zhengqian’;

//对象遍历
for(var i in qiangge) {
document.write(i + ‘ ——-> ‘+qiangge[i]+’


‘);
}
/**
  • name ——-> 李强
  • age ——-> 29
  • height ——-> 180cm
  • xiezuoye ——-> function() { alert(‘我可以代写作业…’); }
  • zhengqian ——-> function() { alert(‘我可以挣钱….’); }
    */
    ```

with简便操作

var beizi = {
    //成员属性
    color: 'white',
    height: '12cm',
    chandi: '日本',

    //成员方法
    zhuangshui: function() {
        alert('我可以装水...');
    },
    zhuang: function() {
        alert('我可以装一下....');
    }

}

alert(beizi.color);
with(beizi) {
    var height = 100;
    alert(height);
    zhuangshui();
}