1.对象的创建

(1)字面量

obj={}
console.log(obj)    //{}
obj={
  name:'zhangsan',
  age:15,
  sayHi:function(){
    console.log('大家好,我是'+this.name)
  }
}
console.log(obj)    //{name: "zhangsan", age: 15, sayHi: ƒ}
obj.sayHi()         //大家好,我是zhangsan

(2)构造函数创建对象

var obj = new Object()
console.log(obj)     //{}
var obj = new Object({name:'张三',age:12})
console.log(obj)     //{name: "张三", age: 12}

(3)工厂函数创建对象

function createPerson(name,age){
  var obj={}
  obj.name=name;
  obj.age=age;
  obj.sayHi=function(){
    console.log('大家好,我是'+this.name)
  }
  return obj
}
var ls=createPerson('ls',19) console.log(ls) //{name: "ls", age: 19, sayHi: ƒ} ls.sayHi() //大家好,我是ls

(4)自定义构造函数创建对象

function Person(name,age){
  this.name=name;
  this.age=age;
  this.sayHi=function(){
    console.log('大家好,我是'+this.name)
  }
}
var ls=new Person('ls',19)
console.log(ls)   //Person {name: "ls", age: 19, sayHi: ƒ}
ls.sayHi()     //大家好,我是ls

 new做的四件事情:

(i)创建了一个新对象

(ii)this指向了这个新对象

(iii)执行构造函数(给对象添加属性和方法)

(iv)返回了一个新的对象

构造函数的作用:

(i)给对象添加属性值方法

(ii)实例化数据

 

2.对象的操作

(1)对象属性的删除

var obj = {name:'张三',age:12}
delete obj.age
console.log(obj)     //{name: "张三"}

(2)对象的取值与赋值

var obj = {name:'张三',age:12}
obj.id=20015          //赋值
console.log(obj)     //{name: "张三", age: 12, id: 20015}
console.log(obj.age)     //12

 3..语法和[ ]语法

.语法  结构:对象名.属性名

var obj={
  name:'zs',
  age:15
}
console.log(obj.age)    //15

 

[  ]语法  结构:对象名[属性名字符串]

var obj={
  name:'zs',
  age:15
}
console.log(obj['name'])    //zs
var obj={
  name:'zs',
  age:15
}
var key='name'
console.log(obj[key])    //zs
var obj={
  name:'zs',
  age:15
}
var key='id'
obj[key]=20015
console.log(obj)    //{name: "zs", age: 15, id: 20015}

4.对象的遍历

var obj={
  name:'zs',
  age:15
}
for(var key in obj){
  console.log(key)    //name   age
  console.log(obj[key])  //zs    15
}

5.判断这个属性是否在对象里

结构:if(属性名字符串 in obj)

var obj={
  name:'zs',
  age:15
}
if('name' in obj){
  console.log('')
}
else{
  console.log('不是')
}

6.获取对象的所有属性

结构:Object.keys(对象名)   返回的是一个数组

var obj={
  name:'zs',
  age:15
}
console.log(Object.keys(obj))     //["name", "age"]

 

posted on 2019-09-30 12:30  宅到深夜  阅读(260)  评论(0)    收藏  举报