美文网首页
javascript 对象基础

javascript 对象基础

作者: 夏酱酱 | 来源:发表于2018-08-14 20:41 被阅读0次

    object

        除了字符串,数字,true,false,null或者undefined以外,其他所有的值在JavaScript里头都是对象。
        对象是引用类型,如果变量x表示一个对象,当执行vary = x;语句后,实际上y和x指向的是同一个对象。所以,当你通过y改变对象的值,这种变化也会反映到x上。

    创建对象

    构造函数

        var name = new object(); //但是这里创建的name对象是空对象

    字面量对象

        var name = {};//但是这里创建的name对象是空对象

    对象的数据和方法

        一个对象由许多的成员组成,每一个成员都拥有一个名字(像上面的name),和一个值。每一个名字/值(name/value)被逗号分隔开,并且名字和值之间由冒号(:)分隔,最后的一个名字/值后面往往也不加逗号。如下:

    var person = {
      name: "Mike",
      age : 20,
      sex: "man"
    }
    

    点表示法

        用了点表示法来访问对象的属性和方法。如下所示:

    person.name;
    person.age;
    person.sex;
    

    可以用一个对象来做另一个对象成员的值。我们实际上创建了一个子命名空间。需要链式的再使用一次点表示法便可以访问它:

    name: {
      first: "Mike",
      last: "Smith"
    }
    person.name.first;
    

    括号表示法

    这看起来很像访问一个数组的元素,但你使用了关联了值的名字,而不是索引去选择元素。对象有时被称之为关联数组——对象做了字符串到值的映射,而数组做的是数字到值的映射。如下:

    person['age'];
    person['name']['first'];
    

    设置对象成员

    目前我们仅仅看到了如何访问对象的成员,而你其实也可以设置对象成员的值,通过声明你要设置的成员,设置成员并不意味着你只能更新已经存在的属性的值,你完全可以创建新的成员:

    person.age = 45
    person['name']['last'] = 'Cratchit'
    person['eyes'] = 'hazel'
    person.farewell = function() { alert("Bye!") }
    

    原型对象概念

    无论什么时候,只要创建一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象。在默认情况下,所有原型对象都会自动获得一个constructor(构造函数)属性,这个属性包含一个指向 prototype 属性所在函数的指针。而通过这个构造函数,可以继续为原型对象添加其他属性和方法。创建了自定义的构造函数后,其原型对象默认只会取得 constructor 属性;至于其他方法,则都从 Object 继承而来。当调用构造函数创建一个新实例后,该实例的内部将包含一个指针(内部属性),指向构造函数的原型对象。ECMA-262第5版管这个指针叫[[Prototype]] 。脚本中没有标准的方式访问[[Prototype]],但Firefox、Safari和Chrome在每个对象上都支持一个属性proto;而在其他实现中,这个属性对脚本是完全不可见的。不过,要明确的真正重要的一点就是,这个连接存在于示例和构造函数的原型对象之间,而不是存在于实例和构造函数之间。

    image.png

    js 对象主要有那些

    1、String对象
    2、Number对象
    3、 Date对象
    4、 RegExp对象

    相关文章

      网友评论

          本文标题:javascript 对象基础

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