JavaScript--对象

98 阅读2分钟

1.定义

对象是一个具体的事物。

在js中对象是一种无序的相关属性和方法的集合。所有的事物都是对象,字符串、数值、数组、函数等都是对象。

  • 属性:事物的特征
  • 方法:事物的行为

image.png

2.使用对象的原因

前情:

  • 保存一个值时,可以使用变量
  • 保存一组值时,可以使用数组
  • 保存一个人的完整信息呢?

3.创建对象

3.1利用字面量创建对象

对象字面量:就是花括号{}里面包含了表达这个具体事物(对象)的属性和方法。 image.png

对象的调用:

  • 对象.属性名
  • 对象['属性名']
  • 对象.方法名() image.png
3.2利用new Object创建对象

image.png

3.3利用构造函数创建对象

利用字面量创建对象和利用new Object创建对象一次只能创建一个对象,如果需要创建大量有重复属性和方法的对象则会有许多重复的代码。

构造函数:就是把对象里面一些相同的属性和方法抽象出来封装到一个函数里。

    function 构造函数名() {
        this.属性 = 属性;
        this.方法 = 方法;
    }
    new 构造函数名()
  1. 构造函数名首字母要大写

  2. 构造函数不需要return就可以返回结果

  3. 调用构造函数必须使用new

     function Star(uname,age,sex) {
         this.uname = uname;
         this.age = age;
         this.sex = sex;
         this.sing = function(sang) {
             console.log('sing a ' + sang);
         }
     }
     var ldh = new Star('德华',22,'男') //调用函数返回的是一个对象
     console.log(typeof ldh);
     console.log(ldh.sing('冰雨'));
     //只要new Star()就会创建一个对象
    

利用构造函数创建对象的过程也称对象的实例化。

4.遍历数组

遍历对象用for in

    for (变量 in 对象) {}

    var obj = {
        name: '小小',
        age: 18,
        sex: '女'
    }
    for (var k in obj) {
        console.log(k); //k 变量 输出 得到属性名
        console.log(obj[k]);//obj[k] 输出 属性值
    }