0

人の名前を設定できるオブジェクト リテラルがあります。別の .js ファイルには、Person オブジェクトをインスタンス化するオブジェクトがあり、関数 "getName" を使用して人の名前を変数に割り当てたいと考えています。

しかし、それをしようとすると、人の名前がわかりません。代わりに、関数全体を取得します。なぜこのようになっているのですか?

function Person(name){

    this.getName = function(){
        return name;
    }
}

init: function(){
    var person = new Person("thomas");
    var name = person.getName;
    alert(name) // <- the function instead of the name

4

2 に答える 2

3

person.getName();関数を実行するには呼び出す必要があると思います。

于 2011-11-30T22:57:23.523 に答える
0

コードを次から変更します。

var name = person.getName;

に:

var name = person.getName();
于 2011-11-30T22:57:48.553 に答える