欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js高级-对象

程序员文章站 2024-02-01 10:39:22
...

js高级-对象

什么是对象

js对象是拥有属性和方法的数据。是多个数据的封装体,用来表示多个数据的容器。一个对象代表现实生活中的一个事物。js高级-对象

为什么要用对象

方便统一管理多个数据。

对象的组成

属性:属性名(本质为字符串)和属性值任意类型()组成
方法:一种特别的属性=>属性值为一个函数

如何访问对象内部数据

.属性名:编码简单,有时不能用
[‘属性名’]:编码复杂,但可通用

  var person = {
        name : 'Tom',
        age : 12,
        setName: function (name) {
            this.name = name;
        },
        setAge: function (age) {
            this.age = age;
        }
    };
    console.log(person.name);   //Tom
    console.log(person.age);   //12

    person.setName('Bob');
    person['setAge'](23);
    console.log(person.name,person['age']); //Bob 23

问题:什么时候必须用[‘属性名’]的方式访问对象内部数据?
1.属性名包含特殊字符: - ,空格
2.变量名不确定

    var p = {};
    //给p对象添加一个属性,:content-type:text/json
    //p.content-type = 'text/json' //属性名包含特殊字符: - ,空格
    p['content-type'] = 'text/json';
    console.log(p['content-type']); //text/json

    var propName = 'myAge';
    var value = 18;
    //p.propName = value;
    // 变量名不确定,此时的propName相当于去对象里面找到propName,然后赋值,但没有属性名为propName的属性

    p[propName] = value; //propName为变量非字符串,故不用‘’
    console.log(p[propName]); //18
相关标签: js高级