キーテイクアウト
- underscore.jsは、さまざまなユースケースに機能的なユーティリティを提供し、コードを読み書きを容易にし、ネイティブJavaScriptで常に利用できるとは限らないJavaScriptライブラリです。 ライブラリには、読み取り可能なループを書き込むための_.each()、直感的で簡単なテンプレートのための_.template()、_.filter()などの一般的な方法が含まれています。
- Underscore.jsは軽量で、USA Today、LinkedIn、Khan Academyなど、多くの有名プロジェクトで使用されています。 underscore.js、jQuery、およびSpotify Web APIを使用したデモアプリケーションは、ライブラリを使用してAPIからデータを取得および表示する方法を示し、ユーザーが結果をフィルタリングできるようにします。
- この記事は、Agbonghama CollinsとRyan Chenkieによってピアレビューされました。 SetePointコンテンツを最高にするためにSitePointのピアレビュアーのすべてに感謝します! underscore.jsは、Jeremy Ashkenasによって書かれたJavaScriptライブラリであり、開発者として、Webプロジェクトに直面したときに出くわす可能性のあるさまざまなユースケースに機能的なユーティリティを提供します。
書き込みが簡単なコードになります:
1:1のネイティブ方法がない機能を提供しています:
_.isEmpty({}); // trueそれ自体がテンプレートエンジンとして使用することもできます:
_.flatten([[0, 1], [2, 3], [4, 5]]); // [0, 1, 2, 3, 4, 5]Underscoreは軽量のライブラリ(わずか5.7kb、削除、Gzipped)であり、次のようなさまざまなビッグネームプロジェクトで使用されています。
USA TODAY
_.range(5); // [0, 1, 2, 3, 4]
_.template('<p></p>', {text: 'SitePoint Rocks!'}); // <p>SitePoint Rocks!</p>カーンアカデミー
- ここで、より具体的に取得し、その主な機能に飛び込み始めましょう。
- 良い部分
- このチュートリアルでは、Underscoreの3つの最も一般的な方法を強調します。
- _。各()
_。filter()
それらが個別にどのように使用されるかを説明し、それらを結び付けて、チュートリアルの最後に見つけることができるデモアプリケーションを構築します。相変わらず、このデモのコードはgithubで入手できます。
例をフォローしたい場合は、たとえばお気に入りのCDNからライブラリのコピーを入手する必要があります。- そして、途中で助けを必要としているか、もっと知りたいだけで、Underscoreのドキュメントが広範囲であることを忘れないでください。また、大規模でアクティブなコミュニティがあります。つまり、ヘルプは簡単に見つけることができます。 _。それぞれ:読み取り可能なループを書き込み
- コードのある時点でこのスニペットに似たものがないプロジェクトはありません。
- アンダースコアを使用すると、より読みやすい構文を使用して、同等のコードを作成できます。
_.isEmpty({}); // true
きちんと、ええ? _.each()は、2つのパラメーターを取ります:
- アレイ(またはオブジェクト)を反復します コールバック関数。
- 配列の各要素の_.each()の各要素の場合、コールバック関数(ドキュメントで
と呼ばれます)が呼び出されます。コールバック内で、さらに3つのパラメーターにアクセスできます。 現在のイテレーションインデックス(アーティスト)の配列の値。たとえば、上記のスニペットでは、最初のイテレーションのために「ファレルウィリアムズ」を取得します。
現在のイテレーションの数(インデックス)、私たちの場合は0から2まで変化します。- 私たちが繰り返しているアレイ(アーティスト)。
- コードがより読みやすく、ループを使用した例で見たように、アーティストを必要とせずに配列内の個々の要素にアクセスできます。
- 次に、テンプレートエンジンがどのように動作するかを確認します。
単一ページアプリケーションの台頭以来、信頼できるフロントエンドテンプレートエンジンを持つことは、作業スタックの基本的なニーズになりました。
Underscoreはテンプレートエンジンを提供します。これは、PHPやRuby on Railsなどの言語に精通している人には非常に馴染みがあります。
以前のスニペットから継続して、_.template()の仕組みを示します。以下に示すように、コードにいくつかの行を追加することでこれを行います:
ここでは、_.template()関数を文字列引数を使用して呼び出しています。この方法で呼び出された場合、_.template()は、何度も何度も使用できる関数を返します。
ArtistTemplate()を使用して新しい関数を呼び出し、引数としてリテラルオブジェクトを渡すことができます。これにより、最初に渡された文字列が_.template()に返され、テンプレートの自由変数に対応するオブジェクトプロパティを置き換えます。私たちの場合、は、オブジェクトのアーティスト属性の値に置き換えられます。アンダースコアのテンプレートエンジンは、単一の値を置き換えるだけでなく、テンプレート自体内のスクリプトの実行も可能にします。単一の変更を使用すると、スニペットをさらに強力にすることができます。
テンプレートを表す文字列に_.each()への呼び出しを組み込みました。これにより、テンプレートの呼び出の方法を変更します。 _.template()関数内で繰り返しているので、完全なアーティスト配列をArtistTemplate()に渡すことができます(以前は個々のアーティストを追い越していました)。このコードの出力は、前の例と同じです。 _.templateによって生成されたテンプレートを呼び出すため、関数を呼び出すように機能するように動作するため、タグを使用して、スニペットをさらに一歩進めて、別のテンプレートを内部から呼び出すことができます。これにより、アーティストリスト用の別のラッパーテンプレートを作成し、含む各アイテムのテンプレートを呼び出すことができるため、再利用可能なテンプレートを作成できます。
_。フィルター():必要なのはブール関数 _。フィルター()は、引数として配列とコールバック関数を受信します。次に、アレイ内の各要素の関数を呼び出し、真実に評価された関数がそれらの要素を含む新しい配列を返します。
これを行うには、コードを3つの異なるモジュールに分割します。
_ISABEOSTOUSE.CONFIG:アプリケーション全体で使用する情報を保持します。
configモジュールには、使用するテンプレートのIDが含まれ、クエリするAPIのURLに加えて、Spotifyから取得したいアーティストのIDが含まれます。これにより、アレイにさらに要素を追加するだけで、より多くのアーティストを追加できます。
メインモジュール これは、フィルタリングを行うために使用するボタンのマークアップです。
これは、フィルター機能に渡すオブジェクトの例です。
index.htmlの一部としてテンプレート用のHTMLが<script>タグ内にあります。これにより、通常のテキスト/javaScriptとは異なるものにタイプを設定することで実行できません。一貫性のために、それを強調/テンプレートに設定します。
</script> 次に、ファイルの下部に、ライブラリと3つのスクリプトが含まれます。また、視覚的に魅力的にするために、ヘッダーに基本的なスタイルがいくつかあります。
あなたはどうですか?アンダースコアで仕事をしましたか?試してみませんか?同様の機能を提供する代替(つまり、Lodash)を試しましたか?以下のコメントでお知らせください。 underscore.jsは幅広い機能を提供しますが、最も便利な機能には次のものが含まれます。 _.each:この関数により、配列またはオブジェクトの要素を反復させることができます。 _.map:この関数は、関数を使用して配列またはオブジェクトのすべての要素を変換することにより、新しい配列を作成します。 _.Filter:この関数は、真実テストに合格するすべての要素を含む新しい配列を返します。 _.Find:この関数は、真実テストに合格する最初の要素を返します。 _.Reduce:この関数は、関数を反復的に適用することにより、配列またはオブジェクトを単一の値に削減します。はい、Underscore.jsは、他のJavaScriptライブラリと互換性があるように設計されています。組み込みのJavaScriptオブジェクトを拡張しないため、ページで実行されている他のライブラリやスクリプトと競合することはありません。 、Underscore.jsは積極的に維持され、定期的に更新されます。図書館はオープンソースです。つまり、世界中の開発者がその開発と改善に貢献しています。 Lodashは同様の機能を提供しますが、いくつかの違いがあります。 LodashはUnderscore.jsのスーパーセットです。つまり、すべてのUnderscore.jsの機能などが含まれています。ただし、Underscore.jsは小さくて軽量であるため、パフォーマンスが懸念事項であるプロジェクトに適しています。 underscore.jsは、node.js環境で使用できます。 node.jsパッケージマネージャーであるnpmを使用してインストールできます。コマンド「npmインストールアンダースコア」を実行してください。
_.isEmpty({});
// true
より具体的には、アプリケーションはSpotifyからいくつかのアーティスト情報を取得し、Underscore _.template、_.eachおよび_.filterを使用することにより、ページに表示し、ユーザーがジャンルごとに結果を絞り込みます。
config module
このモジュールは、configモジュールでgetTemplates()を呼び出すことにより、テンプレートをコンパイルする担当者です。
フィルターと私たちのテンプレートの両方がHTMLの一部として含まれています。
フィルタリングを実装するには、HTML 5データ属性とjQueryのデータインターフェイスに依存します。これはもっと便利な問題ですが、これをネイティブにやりたい場合は、ブラウザのサポートは非常に良いです。
_.isEmpty({});
// true
結論_.flatten([[0, 1], [2, 3], [4, 5]]);
// [0, 1, 2, 3, 4, 5]
アプリケーションに追加できるものがいくつかあります(たとえば、_.pluck()を使用してフィルターを動的に生成します)が、開始するのに十分だと思います。
underscore.js
に関するよくある質問(FAQ)
以上がunderscore.jsを開始しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

10の楽しいjQueryゲームプラグインして、あなたのウェブサイトをより魅力的にし、ユーザーの粘着性を高めます! Flashは依然としてカジュアルなWebゲームを開発するのに最適なソフトウェアですが、jQueryは驚くべき効果を生み出すこともできます。また、純粋なアクションフラッシュゲームに匹敵するものではありませんが、場合によってはブラウザで予期せぬ楽しみもできます。 jquery tic toeゲーム ゲームプログラミングの「Hello World」には、JQueryバージョンがあります。 ソースコード jQueryクレイジーワードコンポジションゲーム これは空白のゲームであり、単語の文脈を知らないために奇妙な結果を生み出すことができます。 ソースコード jquery鉱山の掃引ゲーム

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

このチュートリアルでは、Ajaxを介してロードされた動的なページボックスの作成を示しており、フルページのリロードなしでインスタントリフレッシュを可能にします。 JQueryとJavaScriptを活用します。カスタムのFacebookスタイルのコンテンツボックスローダーと考えてください。 重要な概念: ajaxとjquery

このチュートリアルでは、jQueryを使用して魅惑的な視差の背景効果を作成する方法を示しています。 見事な視覚的な深さを作成するレイヤー画像を備えたヘッダーバナーを構築します。 更新されたプラグインは、jQuery 1.6.4以降で動作します。 ダウンロードしてください

このJavaScriptライブラリは、Cookieに依存せずにセッションデータを管理するためにWindow.nameプロパティを活用します。 ブラウザ全体でセッション変数を保存および取得するための堅牢なソリューションを提供します。 ライブラリは、セッションの3つのコア方法を提供します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版
便利なJavaScript開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









