3

たとえば、要素の実際の幅を取得するために、関数が割り当てられた変数名を使用する方法はありますか?

var xvar = function(){ return $('#y').width()}

そしてそれを次のように使用します

console.log(xvar);

それ以外の

console.log(xvar());

4

3 に答える 3

12

変数ではできませんが、オブジェクトのプロパティでは可能です。ゲッターといいます。

var obj = {
  get xvar() { return $('#y').width(); }
};

次に、次を使用できます。

obj.xvar;  // will run the above function

(理論的には、変数ゲッターを使用する方法は、オブジェクトのプロパティが変数を反映する場合です。たとえば、windowオブジェクトです。)

于 2012-06-06T14:10:55.413 に答える
2

関数が返される限り、StringまたはNumberこれが非 ES5 環境の代替になる可能性があります。

var xvar = new function(id){ 
              this.toString = 
              this.valueOf = function(){
                   return $(id).width()};
           }('#y');
于 2012-06-06T14:46:28.180 に答える
0

xvarすぐに呼び出された関数の結果への参照を保存するため、間違いがなければ機能します。

var xvar = (function() { return $('#y').width(); })();
console.log(xvar);

xvar()ただし、それ以降はバージョンを使用できません。

于 2012-06-06T14:20:49.947 に答える