-2

次の JavaScript を生成する正確な CofeeScript は何ですか:

var AddArtist= function() {
      var addDiv, artistVal;
      addDiv = $("#artistname");
      artistVal = $("#artistinput").val();
      $(" <div id=\"artistname2\"><label>" + artistVal + "</label> /div>").appendTo(addDiv);
      return false;
    };

http://js2coffee.org/を使用してこれを Cofee に変換してみました

これは以下を生成します:

AddArtist = ->
  addDiv = undefined
  artistVal = undefined
  addDiv = $("#artistname")
  artistVal = $("#artistinput").val()
  $(" <div id=\"artistname2\"><label>" + artistVal + "</label> /div>").appendTo addDiv
  false

これを CofeeScript プラグインを使用する Visual Studios に貼り付けると、出力は次のようになります。

(function() {
  var AddArtist;

  AddArtist = function() {
    var addDiv, artistVal;
    addDiv = $("#artistname");
    artistVal = $("#artistinput").val();
    $(" <div id=\"artistname2\"><label>" + artistVal + "</label> /div>").appendTo(addDiv);
    return false;
  };

}).call(this);

そのため、CoffeeScript プラグインはスクリプトを別の関数にラップしているため、AddArtist 変数は内部関数のスコープを決して離れません。

その結果、Web ページで「Uncaught reference error AddArtist」が発生します。

問題は、Visual Studios プラグインを使用することです。実際に動作する以下の JavaScript を生成するための正確な cofee スクリプトは何ですか?

var AddArtist= function() {
      var addDiv, artistVal;
      addDiv = $("#artistname");
      artistVal = $("#artistinput").val();
      $(" <div id=\"artistname2\"><label>" + artistVal + "</label> /div>").appendTo(addDiv);
      return false;
    };
4

1 に答える 1