对象

117 阅读1分钟

// 1.创建对象的方式

    var zhangsan = {
        //表达对象的属性和方法!!! key:value
        name: "zhangsan",
        sex: "man",
        age: 18,
        sayHell: function() {
            alert("大家好!!!")
        }
    }
    // 怎么操作对象!!!怎么访问对象里面的属性和方法!!!
    // 如果要访问属性和方法那么使用.
    console.log(zhangsan.name)
    console.log(zhangsan.sayHell)
    // 访问属性和方法时可以使用另外一种方式
    // zhangsan['sayHell']()
    zhangsan['name']
    // 对象中的属性和变量有什么区别  var 

// 2.创建对象的方式

 var obj = new Object();
    obj.name = "lisi";
    obj.sex = "man"
    obj.sayHi = function() {
        alert("大家好!!!")
    }

    var obj1 = {

    }
    obj1.name = "lisi";
    obj1.sex = "man"
    obj1.sayHi = function () {
        alert("大家好!!!")
    }

    console.log(obj.name)

// 3.创建对象的方式

  // 构造函数 
    function Person(name, sex) {
        this.name = name;
        this.sex = sex;
        this.sayHello = function() {
            alert("大家好!!!")
        }
    }
    // new Person 原理是什么?
    var p1 = new Person("zhangsan", "man")
    var p2 = new Person("lisi", "man")
    // p1 和 p2是什么? p1和p2两个新的对象。称为实例对象!!!

    function Person(name, sex) {
        var obj = {}
        obj.name = name;
        obj.sex = sex;
        obj.sayHello = function() {
        }
    }

对象的遍历

 var obj = {
        name: "zhangsan",
        likes: ["运动", "跑步", "唱歌"],
        age: 20
    }
    // console.log(obj.length)
    // for(var i = 0; i < obj.length; i++) {
    //     console.log(i)
    // }
    // 对象不能使用for来遍历了,能使用for in
    for(var key in obj) {
        console.log(key) // key 属性
        // console.log(obj.key) 这样写是不行的
        // obj.key ==> obj里面有没有key属性
        console.log(obj[key]) // obj[key] 属性值
    }