JS高程之对象篇——理解对象

前言

对于一个前端小白来说,js中的对象算是一个重点加难点,我在第一次读红皮书的时候,读到这里直接一脸懵逼,硬着头皮读,反而更晕了,真的被打击到了,过了好几天后才敢再去读,在我不断的用心去一句一句的仔细去读了后,渐渐的有了点头目。如今,这部分被我反复读了几遍,今天记录一自己的理解,看看是否真的明白了。

正文

大家知道,js算的上是一门面向对象的语言。所谓对象,就是对物体的一个概称。你是一个对象,我也是一个对象,他大舅他二舅高桌子低板凳都是对象。很多人都搞不清对象和实例的关系,其实实例就是对象,对象也是实例(是不是更晕了,没关系,后面会讲明白的)。

伴随对象一起的还有属性与方法,它们都是对特定对象的一种描述。我们通过描述来区分一个个对象。

属性

我们所说的属性大多是指数据属性,即它的值为一条数据。比如,你是一个对象,而你的姓名,性别,家庭住址,都是你的属性,这些值都是字符串类型的简单值,当然,你的家人,你的朋友也是你的属性,但是这些值是一个数组,而你的爸爸,你的妈妈,也是你的属性,特殊的是,他们也是对象,它们也拥有自己的属性和方法。所以,总结一句,对象的属性是一条数据值,而这个值可能是字符串,可能是数组,也可能是对象)


JS高程之对象篇——理解对象_第1张图片

var 我={
    name:小明;        //字符串类型的属性
    age:21;
    familiy:[father,mother,grandfather,brother];//数组类型的属性
    father:{                 //对象类型的属性
        name:老明;
        age:44;
        ...
        }
}

方法

我们所讲的方法,严格来说它也是对象的属性,而它的值通常是一个函数,函数的定义是完成某个特定功能的代码块。所以,方法对于对象来说就是一个技能。比如说我这个对象,我会走路会吃饭会笑会哭,这都是我的技能。所以,方法就是对象用来完成某项功能的一个函数。

 var Person={
    name:jake;          //数据属性
    age:18;
    sayName:function(){           //说自己名字的方法
        alert(this.name);
    }
    sayAge:function(){           //说自己年龄的方法
        alert(this.agg)
    }
    ...
}

创建简单的对象实例

既然万物都是对象,那么,如何创建一个对象呢?

基本方法

了解js数据类型的同学知道,js 有一种数据类型叫做Object(对象)类型,通过new Object()方法我们可以随便创建出一个对象,并通过点语法进行添加属性和方法。

var Person=new Object();
Person.name='jake';
Person.age='18';
Person.sayName=function(){
    console.log(this.name)
}

我们可以通过console.log(Person)来获取这个对象;

这里写图片描述

我们也可以单独获取这个对象的某个属性console.log(Person.name)
可以调用属性的方法Person.sayName()注意获取函数内容不能加括号,加括号是调用执行函数

JS高程之对象篇——理解对象_第2张图片

字面量表示法

再日常应用中,大家更倾向于使用字面量表示法,比我在之前举得例子,字面量表示法的优势在于代码要求量少,并能给人一种封装的感觉,使用这种方法十分方便我们对一个陌生对象快速了解。例子参考属性介绍部分。

你可能感兴趣的:(js高程笔记)