<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script> // 使用new Object() 创建对象 var person = new Object() // 创建对象后 可以直接设置属性 并赋值 person.name = "zhangsan" person.age = 18 person.interests = ["篮球", "足球", "乒乓球"] // 方法也是对象的属性之一 // 在方法中 调用属性 也使用this person.info = function () { console.log(this.name + "的年龄" + this.age + ",喜欢的运动有:") // 对数组元素的遍历 for (var i = 0; i < this.interests.length; i++) { console.log(this.interests[i]) } } // console.log(person.name) // console.log(person.age) // console.log(person.interests) person.info() // 使用{}创建对象 var person = { // 格式: 属性名:属性值, 属性名:属性值 "name": "张三", "age": 20, "interests": ["篮球", "足球", "乒乓球"], "info": function(){ console.log(this.name + "的年龄" + this.age + ",喜欢的运动有:") // 对数组元素的遍历 for (var i = 0; i < this.interests.length; i++) { console.log(this.interests[i]) } } } person.info() console.log(person.name) console.log(person.age) console.log(person) var person = { "name": "李四" } person.age // console.log(person.age) // undefined // 新增属性 person.age = 18 console.log(person) // 删除属性 delete person.age console.log(person) delete person['name'] console.log(person) delete person.interests // 删除不存在的属性时 不会报错 console.log(person) // 可以通过in判断属性是否在对象中存在 // 要注意的是 in可能通过继承得到 var person = { "name": "王五" } console.log("name" in person) console.log("age" in person) // toString 在Object里被定义 console.log("toString" in person) // true // 判断一个属性是否是自身拥有的 而不是继承得到的 console.log(person.hasOwnProperty("name")) console.log(person.hasOwnProperty("toString")) </script> </head> <body> Hi Object </body> </html>