2016-11-28 8 views
1

私はクラスが...すっごく関数内で新しいオブジェクトのコンストラクタの名前を取得する方法は? (Javascriptを)

JavaScriptには本当に新しいです:

var warrior = function(HP) { 
    this.health = HP; 
} 

を私は新しい戦士を作成する場合:

var somebody = new warrior(50); 

を私は」新しい要素に「誰か」という名前を付けるのが好きです。どうしたらいいですか?

+1

あなたが持っていると思いますが、中にそれを渡すために、 'VAR誰か=新戦士(50、 '誰か');'とにクラスを変更'var Warrior = function(hp、name){this.health = hp; this.name = name; }; ' – david

+0

私はコールの音が書いたように見えるという制限がありますが、タスクは後の機能で呼び出し元の名前を使用します... たとえば var battle = new Battle(one、two); battle.getWinner(); // "one"を返します。 – R2DToo

+0

warrior.prototype.nameのようなことができます。 somebody.name = "somebody"に行ってください。 – Heinrich

答えて

0

できません。変数名は、プログラムの機能にとって無意味です。名前を気にする場合は、文字列を使用して引数として渡します。

0

多分このような何か:

var warrior = function(HP) { 
 
    this.health = HP; 
 
} 
 

 
warrior.prototype.name; 
 

 
var somebody = new warrior(50); 
 

 
somebody.name = 'somebody'; 
 

 
console.log(somebody);

+0

ありがとうございます、私は新しい要素に与えるすべての名前で動作しなければなりません。 – R2DToo

+0

申し訳ありませんが、私は完全に質問を理解していません、別の名前を介してオブジェクトを参照することについて話していますか?それとも誰かの名前を持つ戦士のすべてのインスタンスについて話していますか? – Heinrich

+0

私は、私が望む任意の名前の戦士を作成することができ、私は他の機能で名前を使用したいと思います。 – R2DToo

関連する問題