ホームページ ウェブフロントエンド jsチュートリアル javascript createAdder関数の機能と使い方_javascriptスキル

javascript createAdder関数の機能と使い方_javascriptスキル

May 16, 2016 pm 06:25 PM

和文訳
createAdder(x) は関数を返す関数です。 JavaScript では、関数はファーストクラスのオブジェクトです。関数は引数として他の関数に渡したり、関数から返すこともできます。この場合、返される関数自体は、引数を受け取り、それに何かを追加する関数です。

ここに魔法があります。createAdder() によって返される関数はクロージャです。それはそれが作成された環境を「記憶」します。 createAdder に整数 3 を渡すと、引数に 3 を加算する関数が返されます。 4 を渡すと、4 を加算する関数が返されます。上の例の addThree 関数と addFour 関数はこの方法で作成されます。

addLoadEvent 関数をもう一度見てみましょう。ページの読み込み後に実行したいコールバック関数を引数として受け取ります。次の 2 つのケースがあります。最初のケースでは、window.onload にはまだ関数が割り当てられていないため、関数は単にコールバックを window.onload に割り当てます。 2 番目のケースは、クロージャが登場する場合です。window.onload にはすでに何かが割り当てられています。この事前に割り当てられた関数は、最初に oldonload という変数に保存されます。次に、最初に oldonload を実行し、次に新しいコールバック関数を実行する新しい関数が作成されます。この新しい関数は window.onload に割り当てられます。クロージャの魔法の性質のおかげで、クロージャは最初の onload 関数が何であったかを「記憶」します。さらに、addLoadEvent 関数をさまざまな引数で複数回呼び出すことができ、関数のチェーンが構築され、追加したコールバックの数に関係なく、ページの読み込み時にすべてが確実に実行されます。

クロージャは非常に強力な言語機能ですが、慣れるまでに時間がかかる場合があります。ウィキペディアのこの記事では、より詳細な内容が説明されています。

中国語翻訳: より良い可用言があります。大まかに言って違いはありません

createAdder(x) は 1 つの関数であり、1 つの関数を返します。JavaScript では、関数は最初のタイプのオブジェクト: さらに、それらはパラメータおよび関数リターンとして他の関数に渡される可能性があります。この場合、関数リターン自体が 1 つのパラメータを受け取る関数となり、いくつかのパラメータが追加されます。これは魔法です。createAdder によって返される関数() は、1 つのパケットです。つまり、createAdder 整数 3 が渡された場合、関数が返され、そのパラメータに 3 が加算されます。

でわかるように、星光大道は addLoadEvent 機能をもう一度確認できます。これには、一度実行する必要があります。次の 2 つのケースがあります。最初のケースでは、window.onload でいずれかの関数が割り当てられていないため、関数は window.onload で個別に割り当てられます。これは、以前に割り当てられた機能であり、最初に古い onload という名前で保存され、その後、新しい再調整が実行されます。この新しい機能は、window.onload に割り当てられます。神奇な封じ込めの感覚は、非推奨の最初の onload 機能を覚えていてください。

トーク機能は非常に高機能ですが、適用されるまでにある程度の時間がかかる可能性があります。


核心代コード

function createAdder(x) {
return function(y) {
return y x;
}
}
addThree = createAdder(3);
addFour = createAdder(4);
document.write('10 3 は ' addThree(10) '
');
document.write('10 4 は ' addFour(10));
document.write('-10 4 は ' addFour(-10));



演示代:


[Ctrl A 全选注:如く必要取入外部Js必要刷新才能执行]
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

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

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

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

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

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

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

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

Ajaxを使用して動的にボックスコンテンツをロードします Ajaxを使用して動的にボックスコンテンツをロードします Mar 06, 2025 am 01:07 AM

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

10 jQueryの楽しみとゲームプラグイン 10 jQueryの楽しみとゲームプラグイン Mar 08, 2025 am 12:42 AM

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

JavaScript用のクッキーレスセッションライブラリを作成する方法 JavaScript用のクッキーレスセッションライブラリを作成する方法 Mar 06, 2025 am 01:18 AM

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

jQuery Parallaxチュートリアル - アニメーションヘッダーの背景 jQuery Parallaxチュートリアル - アニメーションヘッダーの背景 Mar 08, 2025 am 12:39 AM

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

See all articles