0

Qtスクリプトのドキュメントを読んでいて、この箇所に出くわしました。

良い習慣とは見なされていませんが、関数がコンストラクターとして呼び出され、とにかく独自のオブジェクトを作成するときに、デフォルトの構築された(this)オブジェクトを無視することを選択することを妨げるものは何もないことに注意してください。コンストラクターにそのオブジェクトを返すようにするだけです。オブジェクトは、エンジンが構築したデフォルトのオブジェクトを「オーバーライド」します

これが何を意味するのか混乱しています。'this'オブジェクトとコンストラクターオブジェクトの意味。これは、コンストラクターを使用するよりも、このオブジェクトを使用する方が好ましいという意味ですか?

説明してもらえますか?

4

1 に答える 1

1

Qtドキュメントの例を見てみましょう。

function Book(isbn) {
    this.isbn = isbn;
}

コンストラクターは、オブジェクトにプロパティをBook()追加します。このプロパティは、自動的に返されます(つまり、明示的なステートメントはありません)。ただし、コンストラクターから独自のオブジェクトを自由に返すことができます。isbnthisreturn

function Book(isbn) {
    return {isbn : isbn};
}

後者の場合、オブジェクトを無視しthis、新しいオブジェクトを作成して、代わりにそれを返します。

于 2012-09-04T18:32:14.247 に答える