美文网首页JavaScript
重新认识Javascript的对象

重新认识Javascript的对象

作者: LuckyS007 | 来源:发表于2017-04-05 15:22 被阅读14次

    1.对象基础

    var person = {
    name : ['Bob', 'Smith'],
    age : 32,
    gender : 'male',
    interests : ['music', 'skiing'],
    bio : function() {
    alert(this.name[0] + ' ' + this.name[1] + ' is ' + this.age + ' years old. He likes ' + this.interests[0] + ' and ' + this.interests[1] + '.');
    },
    greeting: function() {
    alert('Hi! I'm ' + this.name[0] + '.');
    }
    };

    * 对象成员的值可以是任意的,在我们的person对象里有字符串(string),数字(number),两个数组(array),两个函数(function)。前4个成员是资料项目,被称为<strong>对象的属性(property)</strong>,后两个成员是函数,允许对象对资料做一些操作,被称为<strong>对象的方法(method)</strong>
    
    ####1.1点表示法:
    >```
    person.age
    person.interests[1]
    person.bio()
    
    • 点表示法,来访问对象的属性和方法。标识可以是属性名称(name),或者是数组属性的一个子元素,又或者是对象的方法调用。

    1.2中括号表示法:

    .点表示法
    person.age
    person.name.first
    []括号表示法
    person['age']
    person['name']['first']

    * 这看起来很像访问一个数组的元素,从根本上来说是一回事儿,你使用了关联了值的名字,而不是索引去选择元素。难怪对象有时被称之为关联数组(associative array)了——对象做了字符串到值的映射,而数组做的是数字到值的映射。
    
    ####1.3设置对象成员
    >目前我们仅仅看到了如何访问对象的成员,而你其实也可以设置对象成员的值,通过声明你要设置的成员,像这样:
    

    person.age = 45
    person['name']['last'] = 'Cratchit'

    设置成员并不意味着你只能更新已经存在的属性的值,你完全可以创建新的成员,尝试以下代码:
    

    person['eyes'] = 'hazel'
    person.farewell = function() { alert("Bye everybody!") }

    <b>`括号表示法`</b>一个有用的地方是它不仅可以动态的去设置对象成员的值,还可以动态的去设置成员的名字。
    这是使用点表示法无法做到的,点表示法只能接受字面量的成员的名字,不接受变量作为名字。
    
    
    ---
    >MDN https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Objects/Basics

    相关文章

      网友评论

        本文标题:重新认识Javascript的对象

        本文链接:https://www.haomeiwen.com/subject/ltbtattx.html