JavaScript 对象
-
JavaScript对象
在现实生活中,汽车是一个对象。汽车具有重量和颜色等属性,以及启动和停止等方法。所有汽车都具有相同的属性,但属性值因汽车而异。所有汽车都采用相同的方法,但这些方法在不同时间执行 。同样JavaScript也根据底层平台(操作系统,应用程序),提供不同的API(应用程序接口)的对象,以及这些对象的属性和方法 -
JavaScript对象简释
您已经了解到JavaScript变量是数据值的容器。此代码为名为car的变量分配一个简单的值(Fiat):var car = "Fiat";
对象也是变量。但是对象可以包含许多值。此代码将许多值(Fiat,500,white)分配给名为car的变量:
尝试一下var car = {type:"Fiat", model:"500", color:"white"};
值写为name:value对(名称和值以冒号分隔)。JavaScript对象是名为属性或方法的命名值的容器。
-
-
对象属性
名:值,在JavaScript对象对被称为属性:您可以通过两种方式访问对象属性:objectName.propertyName
或者:objectName["propertyName"]
例如:
尝试一下person.lastName; person.['weight'];
-
对象方法
对象也可以有方法。方法作为动作可以在对象上执行。方法作为函数定义存储在属性中。方法是以函数的形式存储在对象上的属性。
var person = { firstName: "John", lastName : "Doe", id : 5566, fullName : function() { return this.firstName + " " + this.lastName; } };
例如上面的fullName就是person对象的一个方法在函数定义中,this指的是函数的“所有者”。在上面的示例中,this是“拥有”fullName函数的person对象。换句话说,this.firstName表示此对象的firstName属性。在后面的章节还会详细介绍this关键字。您使用以下语法访问对象方法:objectName.methodName()
例如:
尝试一下name = person.fullName();
如果访问没有()括号引用方法,它将返回函数定义:
尝试一下name = person.fullName;
-
不要将字符串,数字和布尔值声明为对象!
当使用关键字“ new” 声明JavaScript变量时,该变量将创建为对象:var x = new String(); // 声明 x 为一个 String 对象 var y = new Number(); // 声明 y 为一个 Number 对象 var z = new Boolean(); // 声明 z 为一个 Boolean 对象
避免String,Number和Boolean对象。它们使代码复杂化并降低了执行速度。后面教程还会有更多关于对象的知识