对象概念

##一、对象
###1.1 内置对象
###1.2 自定义对象(Json式对象)
####1.2.1 概念
    js中对象是一组无序数据的列表,每一条数据都是由"键:值"组成
    其中,值可以是任意数据类型,但是键只能是字符串(可以不用加'')
###1.3 创建对象

1. 字面量
    ```js
    let obj={};
    ```

2. 构造函数
```js
let obj=new Object();
```

###1.4 对象属性

 当对象中的某一条数据,它的键所对应的值是"非函数"类型,那么这条数据就叫做对象的属性
```js
let sudent{
name:xxx,
age:xxx
}
```

1.  操作属性

        1.点运算符 .
        console.log(student.name)
        student.age=18      //修改
        student.xxx=xxxx    //增加
        delet student.age   //删除s



        2.中括号  []
        console.log(student.name)
        student['age']=18      //修改
        student['xxx']=xxxx    //增加
        delet student['age']   //删除
        
        3.特殊

        let a='name'
        console.log(student[a]) //当前情况时用[]
###1.5 对象方法
当对象中某条数据对应值为函数类型,这条数据就叫做对象的方法

1. 操作方法
```js
let student={
sayName:function(){
}
student.sayName();
student['sayName']; //调用
}
```
###1.6 对象遍历
```js
for(let key in student){
console.log(student[key]);
}
```
###1.7 对象的扩展
1. 对象的解构
```js
    let{name:a,age:b}=student;
    console.log(a,b);       //当键和值名相同时,可省略值
    let{name='A',age=3}={}; //默认值
```
###1.8 this关键字
对象内部使用,指向对象

1.  方法中的this:一个方法中的this指向当前这个方法所属对象
```js
    let student={
    name:'xxxx',
    console.log(this.name);
    }
```
//在方法中访问该对象的属性,通过"this.属性名"访问
2. 函数中的this:一个函数中的this指向全局对象(指向全局包含该属性名的变量)

        如果function作为函数调用,this指向全局中的包含该属性的变量

        如果function作为方法调用,this指向当前所在的对象,即调用该方法的对象

        this的具体指向,在调用时确定

posted @ 2018-05-27 22:32  α不是β  阅读(162)  评论(0编辑  收藏  举报