5

私は現在、「Javascript Web アプリケーション」(O'Reilly、Alex MacCaw)を読んでいますが、非常に早い段階で、HTML ドキュメント内で JS 関数を実行しているように見えるコード スニペットがありますが、<script>タグで囲まれていません。

// template.html
<div>
  <script>
    function doSomething(aParam) {
      /* do stuff ... */
    };
  </script>
  ${ doSomething(this.someX) }
</div>

誰か親切にドル記号中括弧表記を説明してもらえますか? 私は現在 JS を学んでいますが、これは以前に見たことがないので、コード実行の JS 省略表現 (そうであれば、セミコロンで終了しないのはなぜですか?) か、おそらく独自のテンプレートマークアップ (Ruby ? PHP?)、またはまったく別のもの?

どうもありがとう。

アップデート

後の第 5 章 (前述の本) で、Javascript templatingを紹介します。著者は、読者が本を読む前にこのテンプレート化手法に既に遭遇していると想定しているようです。Stackoverflow メンバーの Esailjaが指摘したように、この本はJavascript の初心者向けガイドではありません。私はこの本を「Javascript: The Good Parts」(O'Reilly、Douglas Crockford)などと並行して読んでいることを付け加えておきます。

私はある種のテンプレートを半ば疑っていましたが、純粋な JS テンプレートを考えたことはありませんでした。私は過去に PHP と RoR フレームワークを使用したことがありますが、これらのフレームワークもモデル データをビューに挿入するために同様のテンプレートの概念を使用していました。

最後に 1 つ: 「Javascript Web アプリケーション」を読む理由は、JS 領域内のモデル ビュー コントローラー (MVC) パターンについて説明しているからです。開発を強化および加速するためにjQuery ライブラリ(とりわけ) を使用することを提唱していますが、 jQuery API の本でも、別の新しい JavaScript ラッパーでもありません。むしろ、この本では、「Web アプリケーション」を作成する際の実際の JS のベスト プラクティスとパターンを家に持ち帰りながら、(適切な場合に) そのようなライブラリを使用してクロス ブラウザー JS の不整合に対処しています。

4

1 に答える 1

2

JavaScript ではなく、テンプレート ファイルである必要があります。テンプレート ファイルには、静的な html と非常に馬鹿げたプレゼンテーション ロジックが含まれており、通常はこの場合のように疑似言語です。実際の javascript を含めることはできません。これは、すべきでないことであると本で述べられています。

次に、この本は、静的 html と疑似言語ステートメントのみを含むリファクタリングされたバージョンになります。Javascript テンプレートを参照してください。

この本は、すでに JavaScript に習熟しており、js をより適切に構築しようと考えている人を対象としているようです。

于 2011-12-30T00:22:58.083 に答える