JSON对象

对象

内置对象:自带的都叫内置对象

自定义对象(JSON式对象)

一.概念

JS中对象是一组无序数据的列表,每一条数据都是由“键:值”组成。

其中,值可以是任意数据类型,但是键只能是字符串(键不用加引用)。

二.创建对象

1·字面量

let boj = [];

2.构造函数

let obj2 = new object();

三·对象的属性

当对象中的某一条数据,它的键所对应的值是'非函数'类型,那么这条数据就叫做对象的属性.

对象的属性

let student = {
    name:'王海枫',
    age: 20
};

1.操作属性

1)点运算符 .

查看:

示例1: console.log(student.name);
示例2: console.log(student.age);

修改:

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

添加:

studet.gender = '女';

删除:

delete student.age;
console.log(student);

2)中括号 [ ] 键是一个变量名的时候使用中括号

console.log(student["name"]);

student["age"] = 18;

student["gender"] = "女";

delete student["age"];



let student = {
    name:'马冬梅',
    age:20,
};



let a = "name";
console.log(student[a]);
console.log(student.name);

四·对象的方法

当对象中的某一条数据,它的键所在对应的值是“函数”类型,那么,这条数据就叫做对象的方法。

1.操作方法

let student = {
    name:'王海枫',
    age:20,
    friends:['马鑫宇','王海枫'],
    sayName:function(){
        console.log('我的名字叫马冬梅');
    }
}

方法调用: student.sayName();

中括号方法调用: student"sayName";

五·对象的遍历

let student = {
    name:'马冬梅',
    age:20,
    friends:['李子明','王海枫'],
    sayName: function(){
        console.log('我的名字叫李爸爸');
    }
}

for (let key in student){
    console.log(student[key]);
}

六·对象的扩展

1·对象的解构

let student = {
    name: 'hanmeimei',
    age: 20
}
                                简写: 当键和值同名的时候可以省略值和冒号
let {name:a,age:b} = student;       let {name,age} = student;
console.log(a,b);                   console.log(name,age);

默认值:

let{name = 'A',age = 20} = {name:'hanmeimei',age:18};
console.log(name,age);

七·this关键字

let student = {
    name:'马冬梅',
    age:20,
    friends:['李子明','王海枫'],
    sayName:function(){
        console.log('我的名字叫'+ this.name);
    }
}
student.name = '李子明';
student.sayName();

1·方法中的this:一个方法中的this等于当前该方法所属的对象。

在方法中询问该对象的属性,通过"this.键名"访问

2·函数中的thin:一个函数中的this指向全局对象

let student = {
    name: 'WangHaiFeng'
}
name = 'LiZiMing';

function sayName() {
    console.log(this.name);
}
sayName();

student.fn = sayName;
student.fn();


name = '123';
function sayName(){
    console.log(this.name);
}
sayName();      //函数



let student = {
    name:'456',
    sayName:function(){
    console.log(this.name);
    }
}
student.sayName();      //方法

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

function中的this,是可变的。

如果function作为函数调用,其内部的this指向全局。

如果function作为方法调用,其内部的this指向当前方法所属对象

posted on 2018-05-27 18:06  不吃鱼的猫W  阅读(113)  评论(0编辑  收藏  举报

导航