JavaScriptの関数を使いこなす

argumentsオブジェクトとFunction.apply()メソッドを組み合わせて使う

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
argumentsオブジェクトに入った引数を渡して関数を呼び出したいときは、Function.apply()メソッドが使えます。
講師:
05:58

字幕

このレッスンでは arguments オブジェクトと function apply メソッドの― 組み合わせと使い方についてご説明します 今 Dreamweaver で開いている HTML ドキュメントとには― 関数が1つ定義されています ここで arguments オブジェクトを 使っています どういう関数か というと 合計をしてくれる関数です 但し 引数を定めていません でも 引数をこのように 渡して呼び出すと arguments オブジェクトが作られて― これは配列のような性格を持って 引数を全て要素として持っているんですね そして配列と同じように length で個数が分かります また 配列と同じように― 角括弧アクセス brackets アクセスで インデックスを指定して― 1つ1つ取り出すことができます ですから 合計して― そして返す ということで total を取ることができるわけですね 一応 動作を確認しておきましょう 1 から 10 までの合計を取ってください ということで― この sum という関数を呼び出しています ファイルからブラウザでプレビューします JavaScript コンソールを出しましょう 1 から 10 までの合計は 55 ということで 正解ですね ではこれは クリアして Dreamweaver のほうに戻りましょう 合計を取る関数は作ったので― このついでに 平均を出す関数も 作りたいと思います まだ作っていませんが 作ったつもりになって とりあえず呼び出してしまいましょう コピーして ペーストして 関数名は というと 平均ですから― average ですね こんな関数を作ります やはり― sum 合計を取る関数と同じように 数字をカンマ区切りで 引数として羅列すれば その合計を取って 平均を求めてくれる という そういう関数にしたいわけですね function の average これはコピーで持ってきましょう コピーして function の綴りがちょっと違いますね function と やはり 引数の個数は特定したくないので 引数は持ちません そして引数は持たなくても arguments オブジェクトから― 個数は分かりますね 平均を取るには 個数が分からないといけませんので ここでコピーを持ってきます count という変数に個数を入れました そして 平均を取るためには total が必要ですね total これをどういう風にとるかが ちょっと問題なので 置いといて total と個数が分かれば 後は return ですね total を― 個数で割ればいいですね さて そこでポイントは total はどのように出すか sum があるのではないか と そうですね sum あります そして この括弧の中には 引数を入れる必要があります arguments 引数持っていますけれども sum に渡すのは― カンマ区切りの形で渡さなければいけません arguments というのは 1つのオブジェクトで いわば配列のようなものですね ですからこのまま ここに arguments と入れるわけにはいかないのです でも 入れる方法があります それが function の apply メソッドを使う方法です apply メソッドというのは 関数に対して― apply という風にしてあげます そうすると 引数を2つ取って 1つ目は― このオブジェクト のメソッドのつもりで 呼び出してね と 今 アスタリスク3つ書きましたが 勿論 これは仮ですよ このオブジェクトのメソッドとして 呼び出してください と そして引数は というと― 同じ系列のメソッド call ですとカンマ区切りで渡しますが― apply の場合には 配列の中に 引数を入れて渡すことになっています 配列の代わりに ここ arguments 使えるんですよ 配列と同じ性格を持っていて apply に渡すこともできるので この中にコピーして 持ってってしまえばいい と では 誰のメソッドとして 使えばいいのだろうか と 誰のメソッドでもありませんね sum の中には― this. このオブジェクトのプロパティの何々を 扱う という記述がありませんから オブジェクトがなくて構わないんですね という時には ここは― 消してしまって何もないと ここには文法的に問題があるので 何もありませんよ という特別な値― null を渡せば結構です オブジェクトは気にしなくてもいいけれど 引数を配列の形で渡したい arguments で渡したい という時には このように arguments を― apply で関数を呼び出す ということができます これで ちゃんと sum に引数が渡されて 合計がとられて平均が求まる ということになります 確認しましょう ファイルを保存して ブラウザのほうに移ります ブラウザのページをリロードしましょう 1つ目は sum のほうですね 合計です 平均は というと 合計を― 個数は10個引数ありましたので― 10 で割れば 5.5 ということで 正解です このレッスンでは arguments オブジェクトと― function apply メソッドを 組み合わせた使い方についてご説明しました arguments の オブジェクトに入っている引数を渡して― 関数を呼びたい という時には カンマ区切りでありませんので apply を使って組み合わせてあげると arguments を引数として― apply でその関数を呼び出すことができる ということです

JavaScriptの関数を使いこなす

関数はJavaScriptの基本です。また関数を知ることはスクリプトの組み立て方を理解することでもあります。このコースではJavaScriptの基礎を学んだ方を対象に、関数の定義から順を追って説明します。さまざまな機能やその呼び出し方、クラス定義で使われる応用テクニックまで実際にスクリプトを書きながら具体的に解説します。

2時間22分 (20 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年11月28日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。