0

https://developer.mozilla.org/en-US/docs/JavaScript/A_re-introduction_to_JavaScriptから Javascript の概念を理解しようとしています。以下のコードを参照してください。

function personFullName() {
  return this.first + ' ' + this.last;
}

function personFullNameReversed() {
  return this.last + ', ' + this.first; 
}

function Person(first, last) {
  this.first = first;
  this.last = last;
  this.fullName = personFullName;
  this.fullNameReversed = personFullNameReversed;
}

なぜ関数 personFullName() が次のように呼び出されるのか混乱しています

this.fullName = personFullName;

なぜそれは好きではありません;

this.fullName = personFullName();

以下も同様です。

this.fullNameReversed = personFullNameReversed;

関数が JavaScript のオブジェクトであることは知っていますが、この概念を理解できませんか?

4

1 に答える 1

1

オブジェクトはそれ自体にメソッドPersonを割り当てているため、関数の結果ではありません。これが、関数を呼び出さない理由です。

このようにして、これを行うことができます。

var p = new Person("Matt", "M");
p.fullName(); // Returns "Matt M"
p.fullNameReversed(); // Returns "M, Matt"
于 2013-02-13T06:00:20.370 に答える