js-对象(简述)

        (1)  什么是对象

              现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征。

     JavaScript中的对象其实就是生活中对象的一个抽象,
      其属性可以包含基本值、对象或函数。
对象就是一组没有顺序的值。我们可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。

   (2)  本质: 键值对;  

          (3)  意义:存储数据和编程;

          (4)  创建方式:

        1.  通过new关键字创建对象:

                                 

var obj = new Object();
// 添加属性
obj.name = "admin";
// 添加方法
obj.show = function () {
    console.log( "我是"+this.name );
};

                        2.  通过字面量创建对象

   

var obj = {
    name : "zhangsan",
    age : "18",
    show : function () {
        console.log(''我是''+this.name+"年龄"+this.age);
    }
};

                        3.  通过构造函数创建对象

function Person(name, age) {
    this.name = name;
    this.age = age;
    this.say = function(name) {
        console.log("你好: " + name + "!");
    };
}

// 创建两个Person对象
var person1 = Person("admin1", 18);
var person2 = Person("admin2", 28);

      (5) 属性和方法

                 如果一个变量属于一个对象所有,那么该变量就可以称之为该对象的一个属性,属性一般是名词,用来描述事物的特征

                 如果一个函数属于一个对象所有,那么该函数就可以称之为该对象的一个方法,方法是动词,描述事物的行为和功能

            (6) 访问对象的属性和方法

                  1.点语法:

                          形为: 对象.具体属性或方法;

                   2.中括号语法:

                          形为:  对象[变量]  或   对象[“具体属性或方法”];

                  区别:中括号法可以用变量作为属性名,而点语法不可以;
        中括号法可以用数字作为属性名,而点语法不可以。

var obj = {
    name : "xiaoming",
    age : 18,
    123:123,
    show : function () {
        console.log("我是"+this.name+"年龄"+this.age);
    }
};
console.log(obj["name"]);   // 输出:"xiaoming"
console.log(obj.name);   // 输出:"xiaoming"
var age = "age";
console.log(obj[age]);      // 输出:18
console.log(obj["123"]);    // 输出:123

          (7) 对象的遍历

var obj = {
    name : "xiaoming",
    age : 18,
    123:123,
    show : function () {
        console.log("我是"+this.name+"年龄"+this.age);
    }
};
for(var i in obj){
    console.log(i)//输出的是key;  
}

       (8)删除对象的属性(最好不用):

                     delete  对象.属性/方法

              

 

  

 

版权声明:本文为xy88原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xy88/p/12043797.html