JS对象

10.0 对象

内置对象:js自带的

一、 自定义对象

1. 概念

js中对象是一组无序数据的列表

2. 特点

(1). 对象中每一条数据都是由“键:值”组成

(2). “值”可以是任意数据类型,但“键”只能是字符串,(键可以不用写引号js系统会自动识别)

二、 怎么创建自定义对象

(1).字面量:let obj = { };

(2).构造函数方式:let obj = new Object();

三、 对象的属性

1. 概念:当对象中的某一条数据,它的'键'所对应的'值' '不是函数类型';那么,这条数据就叫做对象的属性。

代码示例:

let student = {
    name:'韩梅梅',
    age:20
//student这个对象有name和age两个属性
}

2. 怎么操作属性:

(1). 通过点运算符对象.属性名

查看:

//通过对象属性查看对象中的数据

代码示例:

let student = {
    name: '小花',
    age: 20
}
console.log(student.name);

修改

//通过对象的属性修改对象中的数据

代码示例:

student.age = 18;
console.log(student.age);

添加

//通过对象的属性添加对象中的数据

代码示例:

student.gender = '女';
console.log(student);

删除

通过对象的属性删除对象中的数据

代码示例: delete student.age; console.log(student);

(2). 通过中括号[]

查看:

//通过对象属性查看对象中的数据

代码示例:

let student = {
    name: '小明',
    age: 20
}
console.log(student['name']);

修改: //通过对象属性修改对象中的数据

代码示例:

let student = {
    name: '小明',
    age: 20
}
student["age"] = 18;
console.log(student["age"] );

添加: // 通过对象属性添加对象中的数据

代码示例:

let student = {
    name: '小明',
    age: 20
}
student['gender'] = '男';
console.log(student["gender"] );

删除: // 通过对象属性删除对象中的数据

代码示例: let student = { name: '小明', age: 20 } delete student["age"]; console.log(student);

注释:当需要键作为一个变量名时,需要通过变量名找到。

四、 对象的方法

  1. 概念:当对象中的某一条数据,它的键所对应的值是函数类型;那么,这条数据叫做对象的方法。

  2. 对象方法怎么操作

(1). 点运算符调用执行:对象.键名()

(2). 中括号调用执行:对象.["键名"]()

代码示例: let student = {

    name: '小明',

    friends: ['小花', '小草'],

    sayName: function () {

        console.log('我的名字是小明');

        let test = 'hahaha';

        return test;
    }

}

let a = student.sayName();点运算符调用执行

console.log(a);




student.sayName();//点运算符调用执行:对象.键名();

student['sayName']();//中括号调用执行:对象.["键名"]();

五、 遍历对象

for (let 变量 in 对象){

}

代码示例:

let student = {//student是储存对象内数据的变量
    name: '花花',//name是键名,'花花'是值
    age: 18,
    friends: '刘星'
}
for (let key in student) {
    // console.log(key);//遍历对象的键名
    console.log(student[key]);//遍历对象的值(通过对象拿到值)
}

六、 对象的扩展

1. 对象的解构

代码示例: let student = { name: '草草', age: 20 } let { name: a, age: b } = student; console.log(a, b); console.log(name, age); let { name: name, age: age } = student;//键名和值可以是相同命名 let { name, age } = student;//当键名和值相同命名的时候可以简写

ES6:当键名和值是相同命名得时候可以省略键名

2. 解构的默认值

this关键字

  1. 作为对象的方法调用:

代码示例:

let test = {
    name: 'xxx',
    sayName: function () {
        console.log(`我的名字是 ${this.name}`);
    }
}
test.name = 'this关键字';
test.sayName();//函数作为方法调用,其内部的this指向当前方法所属对象

代码示例:

let test = function () {
     console.log(this.arr);
}
let student = {
    arr:[12,13]
}
student.fn=test;
student.fn();
  1. 作为普通函数调用

    name = '命名'; function test() { console.log(this.name); } test();

posted @ 2018-05-27 22:01  小王同学192  阅读(110)  评论(0编辑  收藏  举报