วิธีการของวัตถุ JavaScript
- หน้าก่อนหน้า JS ของวัตถุแบบนิยาม
- หน้าต่อไป การแสดง JS วัตถุ
ตัวอย่าง
var person = { firstName: "Bill", lastName : "Gates", id : 648, fullName : function() { return this.firstName + " " + this.lastName; } };
JavaScript 方法
JavaScript 方法是能够在对象上执行的动作。
JavaScript 方法是包含函数定义的属性。
属性 | 值 |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
方法是存储为对象属性的函数。
this 关键词
在 JavaScript 中,被称为 this
的事物,指的是拥有该 JavaScript 代码的对象。
this
的值,在函数中使用时,是“拥有”该函数的对象。
请注意 this
并非变量。它是关键词。您无法改变 this
的值。
访问对象方法
请使用如下语法创建对象方法:
methodName : function() { 代码行 }
请通过如下语法来访问对象方法:
objectName.methodName()
您通常会把 fullName() 描述为 person 对象的方法,把 fullName 描述为属性。
fullName 属性在被通过 () 调用后会以函数形式执行。
此例访问 person 对象的 fullName() 方法:
ตัวอย่าง
name = person.fullName();
如果您访问 fullName 属性时没有使用 (),则将返回函数定义:
ตัวอย่าง
name = person.fullName;
使用内建方法
此例使用 String 对象的 toUpperCase()
方法,把文本转换为大写:
var message = "Hello world!"; var x = message.toUpperCase();
ค่าของ x จะเป็นเช่นนี้หลังจากการปฏิบัติการของรหัสที่กล่าวข้างต้น
HELLO WORLD!
เพิ่มวิธีใหม่
การเพิ่มวิธีที่ใช้ในวัตถุสร้างแบบนิยามมีที่เกิดขึ้นภายในฟังก์ชันสร้าง
ตัวอย่าง
function person(firstName, lastName, age, eyeColor) { this.firstName = firstName; this.lastName = lastName; this.age = age; this.eyeColor = eyeColor; this.changeName = function (name) { this.lastName = name; }; }
ค่าของฟังก์ชัน changeName() ของตัวแปร name ถูกจัดสรรให้กับตัวแปร lastName ของ person
ตอนนี้คุณสามารถทดลองได้เช่นนี้:
myMother.changeName("Jobs");
โดยใช้ myMother “แทนที่” this จะชัดเจนว่าคุณหมายถึง person ไหน
- หน้าก่อนหน้า JS ของวัตถุแบบนิยาม
- หน้าต่อไป การแสดง JS วัตถุ