0

このコードのように

  var Obj = function () {}
  Obj.prototype.getVarName = function () {
    console.log( someFunction() );
  }
  var obj = new Obj();
  obj.getVarName(); //output "obj";
  var obj1 = new Obj();
  obj1.getVarName(); //output "obj1";

そして、私はこの方法でそれをしたくありません

  var Obj = function (variableName) {
    this.variableName = variableName || "undefined";
  }
  Obj.prototype.getVarName = function () {
    console.log(this.variableName);
  }
  var obj = new Obj('obj');
  obj.getVarName(); //output "obj";
  var obj1 = new Obj('obj1');
  obj1.getVarName(); //output "obj1";

誰かがこの問題と関係があると思います、ありがとう。

ps:私は間違った方法で何かをしていたので、この未回答の質問をします。

クラス obj のメソッドによってイベントを DOM elem に bing します。この obj には子クラス obj があり、イベントをトリガーすると、この変数は dom elem を指します。どの obj がこれをトリガーするかを認識する方法がわかりませんイベントなので、この方法を試します。

しかし、それは間違った方法です!だから私は他の方法でそれを試します.私はコールメソッドを使用してこの変数を変更し、今私は私の問題を解決します.

4

3 に答える 3

2

答えは「できない」だと思います。

変数ラベルは、実行時にコードが参照するためのものではありません。これらは、プログラムの作成者として、プログラムの作成時に使用するためのものです。

実行時に調べて使用する必要があるラベルがオブジェクトに必要な場合は、使用するプロパティを指定する必要があります。

someObject.myName = "someObject"; // if that's what you really want
于 2013-10-11T06:32:23.233 に答える