3. Js里的对象

  1. 简单例子
let car = {
    type: "Toyota",
    model: 500,
    color: "white",
    printColor: function(){
        console.log('this color=' + this.color);//在控制台输出
    }
};

car.printColor();
  1. 一个很好的定义,视对象为Map

可以说 "JavaScript 对象是变量的容器"。
但是,我们通常认为 "JavaScript 对象是键值对的容器"。
键值对通常写法为 name : value (键与值以冒号分割)。
键值对在 JavaScript 对象通常称为 对象属性。

  1. 复杂点的例子
    所以,在Java中不可能见的写法,在Js中出现了:
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";

console.log('person[\'age\']=' + person['age']);//输出56
console.log('person age=' + person.age);//也输出56
delete person.age;  //居然可以删除,这更像是Map了
console.log('after del, person age=' + person.age);//输出undefined

这Object越看越象是在Java里的Map啊。

  1. 奇怪的写法---计算属性
let fruit = prompt("Which fruit to buy?", "apple");
let bag = {
  [fruit]: 5, // the name of the property is taken from the variable fruit
};
alert( bag.apple ); // 5 if fruit="apple"
  1. 函数(方法)返回一个对象的写法
function makeUser(){
    return{
        name: 'stephen',
        age: 38
    }
}

一切明白了吧。

猜你喜欢

转载自blog.csdn.net/weixin_34413802/article/details/86922157