Objek JavaScript
真实生活中的对象、属性和方法
在真实生活中,汽车是一个对象。
汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法:
对象 | 属性 | 方法 |
---|---|---|
car.name = porsche car.model = 911 car.length = 4499mm car.color = white |
car.start() car.drive() car.brake() car.stop() |
所有汽车都拥有同样的属性,但属性值因车而异。
所有汽车都拥有相同的方法,但是方法会在不同时间被执行。
Objek 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; } };
this 关键词
在函数定义中,this
引用该函数的“拥有者”。
在上面的例子中,this
指的是“拥有” fullName 函数的 person 对象。
换言之,this.firstName
的意思是 this 对象的 firstName 属性。
请在 JS this 关键词这一章学习更多有关 this 关键词的知识。
对象定义
我们定义(创建)了一个 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"]
例子 1
person.lastName;
例子 2
person["lastName"];
访问对象方法
您能够通过如下语法访问对象方法:
objectName.methodName()
实例
name = person.fullName();
如果您不使用 () 访问 fullName 方法,则将返回函数定义:
实例
name = person.fullName;
方法实际上是以属性值的形式存储的函数定义。
请不要把字符串、数值和布尔值声明为对象!
如果通过关键词 "new" 来声明 JavaScript 变量,则该变量会被创建为对象:
var x = new String(); // 把 x 声明为 String 对象 var y = new Number(); // 把 y 声明为 Number 对象 var z = new Boolean(); // 把 z 声明为 Boolean 对象
Dapatkan untuk menghindari objek string, numerik, atau logik. Mereka akan menambah kompleksitas kode dan menurunkan kecepatan eksekusi.
Anda akan belajar lebih banyak tentang objek di bab yang akan datang di tutorial ini.
Buku ekstrakulikuler
Untuk mendapatkan lebih banyak informasi tentang Objek JavaScriptUntuk pengetahuan lanjut, silakan baca konten yang relevan di panduan tingkat tinggi JavaScript:
- Teknologi orientasi objek ECMAScript
- Bagian ini menjelaskan istilah teknologi orientasi objek, persyaratnya, dan komposisi objek.
- Aplikasi objek ECMAScript
- Bagian ini menyingkat menjelaskan pengumuman dan instansiasi objek, penggunaan dan penghapusan objek, serta konsep pengikat.
- Tipe objek ECMAScript
- Bagian ini menjelaskan tiga jenis tipe ECMAScript: objek lokal, objek baku, dan objek tuan rumah, serta menyediakan tautan ke panduan referensi yang relevan.
- Dalam lingkungan objek ECMAScript
- Bagian ini menjelaskan lingkungan dan kata kunci this ECMAScript.
- Definisi kelas atau objek ECMAScript
- Bagian ini menjelaskan berbagai cara untuk membuat objek atau kelas ECMAScript.
- Modifikasi objek ECMAScript
- Bagian ini menjelaskan bagaimana mengubah objek melalui pengembangan metode baru atau menetapkan ulang metode yang sudah ada.