JavaScriptでreturnを使って外部に関数を返し、後から呼び出す方法
JavaScriptでは、returnキーワードを使うことで、関数そのものを戻り値として返すことができます。外側の関数が内側の関数を返すことで、後からその関数を呼び出して結果を取得できます。以下に具体的なコード例を示します。
コード例
var subtractMethod = function () {
var firstValue = 1000, thirdValue = 200;
var divideMethod = function (){
var secondValue = 500;
console.log("The result of divideMethod()=" + (firstValue / secondValue));
return (firstValue - secondValue);
}
return divideMethod;
}
var result = subtractMethod();
console.log("The result of subtractMethod()=" + result());
上記のプログラムを実行するには、ターミナルまたはコマンドプロンプトで次のコマンドを使用します。
node fileName.js
ここでは、ファイル名を「demo198.js」として保存しています。
実行結果
プログラムを実行すると、コンソールに以下の出力が表示されます。
PS C:\Users\Amit\javascript-code> node demo198.js The result of divideMethod()=2 The result of subtractMethod()=500
動作の仕組み
このコードのポイントは、subtractMethodがdivideMethodの実行結果ではなく関数自体を返している点です。つまり、var result = subtractMethod()の時点では計算は行われず、resultにはdivideMethodという関数が格納されます。
その後、result()と呼び出すことで初めてdivideMethodが実行され、firstValue ÷ secondValue(1000 ÷ 500)の結果である「2」がコンソールに出力され、さらにfirstValue − secondValue(1000 − 500)の結果である「500」が戻り値として返されます。
このように、内側の関数は外側の関数の変数(firstValueなど)にアクセスできるため、これはクロージャーと呼ばれるJavaScriptの重要な仕組みの基本的な例でもあります。関数を戻り値として扱うことで、柔軟で再利用性の高いコードを書くことができます。
-
【JavaScript】Enterキーが押されたかどうかを判定してコンソールに結果を表示する方法
onkeypressイベントでEnterキーの押下を検出するEnterキーが押されたかどうかを判定し、その結果をコンソールに出力するには、onkeypressイベントを使用します。まず、テキスト入力ボックスを作成してみましょう。<input id="textBox" type="text" onkeypress="return demoForEnterKey(event)"/>続いて、demoForEnterKey()関数の実装方法を見ていきましょう。Enterキーが押されたかどうかは、イベントオブジェクトのkeyCode
-
JavaScriptで関数の実行結果をHTMLとして表示する方法
関数の結果をHTMLとして表示するには?JavaScriptで関数の実行結果をHTMLとして画面に表示したい場合は、document.getElementById().innerHTML を使います。このプロパティに文字列や計算結果を代入することで、指定した要素の中身を動的に書き換えることができます。innerHTMLはDOM操作の基本であり、ユーザーの操作に応じてリアルタイムに画面を更新したい場合によく利用されます。サンプルコード以下は、ページ内にあるテキストボックス(input type=text)の数をカウントし、その結果をHTMLとして表示するコード例です。<!DOCTYPE h