我一直在自學 JS,并完成了 8 小時的基礎課程。現在我正在學習另一門課程,在我看來,講師正在使用點符號創建一個函式。我不確定這是否正在發生,我很難準確理解它在做什么。
function Person(fName, lName) {
this.firstName = fName
this.lastName = lName
}
const person1 = new Person("Bruce", "Wayne")
const person2 = new Person("Bat", "Man")
person1.getFullName = function () {
return this.firstName ' ' this.lastName
}
console.log(person1.getFullName())
我感到困惑的部分是:
person1.getFullName = function () {
return this.firstName ' ' this.lastName
}
我在 Person() 函式中看到我們正在創建一個名為 person1 的物件,它使用“this”和一個鍵來傳遞引數作為這些鍵的值。然而,在我看來,有一個函式被分配給了 person1 物件,我假設是函式的名稱,看起來像是 person1 物件上使用點符號的方法。誰能解釋這是如何作業的?
uj5u.com熱心網友回復:
線
person1.getFullName = ...
是一個正常的賦值陳述句。它將右側的值分配給 中getFullName物件的屬性person1。如果該屬性尚不存在,它將被創建。
函式是值(物件),就像 JavaScript 中的任何其他值一樣,因此它們可以在任何需要值的地方使用。
所以是的,person1.getFullName將包含一個函式,它可以像任何其他函式一樣被呼叫:person1.getFullName().
uj5u.com熱心網友回復:
物件具有屬性。
屬性具有值。
函式是一個值。
如果屬性的值是一個函式,那么我們稱它為方法。
這里的所有都是它的。
uj5u.com熱心網友回復:
function Person(fName, lName) {
this.firstName = fName
this.lastName = lName
}
const person1 = new Person("Bruce", "Wayne")
const person2 = new Person("Bat", "Man")
person1.getFullName = function () {
return this.firstName ' ' this.lastName
}
console.log(person1.getFullName())
基本上,為物件 person1 創建了一個名為 getFullName 的新屬性。這個新屬性被定義為回傳 person1 物件的名字和姓氏。因此,當您呼叫 console.log(person1.getFullName()) 時,這將列印 person1 的名字和姓氏。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/482961.html
標籤:javascript
上一篇:嘗試從函式回傳流緩沖區
下一篇:如何使用標頭重定向
