松软科技前端课堂:JavaScript 对象
程序员文章站
2023-08-20 00:00:09
真实生活中的对象、属性和方法 在真实生活中,汽车是一个对象。 汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法: car.name = porsche car.model = 911 car.length = 4499mm car.color = white car.start() car.dr ......
真实生活中的对象、属性和方法
在真实生活中,汽车是一个对象。
汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法:
对象 | 属性 | 方法 |
---|---|---|
car.name = porsche car.model = 911 car.length = 4499mm car.color = white |
car.start() car.drive() car.brake() car.stop() |
所有汽车都拥有同样的属性,但属性值因车而异。
所有汽车都拥有相同的方法,但是方法会在不同时间被执行。
javascript 对象
您之前已经学到,javascript 变量是数据值的容器。
这段代码把一个单一值(porsche)赋给名为 car 的变量:
var car = "porsche";
对象也是变量。但是对象包含很多值。
这段代码把多个值(porsche, 911, white)赋给名为 car 的变量:
var car = {type:"porsche", model:"911", color:"white"};
值以名称:值对的方式来书写(名称和值由冒号分隔)。
javascript 对象是被命名值的容器。
对象属性
(javascript 对象中的)名称:值对被称为属性。
var person = {firstname:"bill", lastname:"gates", age:62, eyecolor:"blue"};
属性 | 属性值 |
---|---|
firstname | bill |
lastname | gates |
age | 62 |
eyecolor | blue |
对象方法
对象也可以有方法。
方法是在对象上执行的动作。
方法以函数定义被存储在属性中。
属性 | 属性值 |
---|---|
firstname | bill |
lastname | gates |
age | 62 |
eyecolor | blue |
fullname | function() {return this.firstname + " " + this.lastname;} |
方法是作为属性来存储的函数。
var person = { firstname: "bill", lastname : "gates", id : 678, fullname : function() { return this.firstname + " " + this.lastname; } };
属性属性值firstnamebilllastnamegatesage62eyecolorblue
this 关键词
在函数定义中,this 引用该函数的“拥有者”。
在上面的例子中,this 指的是“拥有” fullname 函数的 person 对象。
换言之,this.firstname 的意思是 this 对象的 firstname 属性。
对象定义
我们定义(创建)了一个 javascript 对象:
实例
var person = {firstname:"bill", lastname:"gates", age:62, eyecolor:"blue"};
空格和折行都是允许的。对象定义可横跨多行:
实例
var person = { firstname:"bill", lastname:"gates", age:50, eyecolor:"blue" };
访问对象属性
您能够以两种方式访问属性:
objectname.propertyname; objectname["propertyname"];
访问对象方法
您能够通过如下语法访问对象方法:
objectname.methodname()
objectname.methodname()
var x = new string(); // 把 x 声明为 string 对象 var y = new number(); // 把 y 声明为 number 对象 var z = new boolean(); // 把 z 声明为 boolean 对象