Project_OKI’s diary

エンジニアの勉強ブログ

HTML,CSS,Javascript10(javascriptの関数と関数式)

javascriptの関数と関数式

この記事では、javascriptの関数と関数式について記載する。

 

1. 目的

 ・javascriptで関数と関数式を使えるようになる。

 

目次

 

2. 関数とは

 ・構成要素の一つ

 ・様々な処理を一つにまとめて、その処理に名前を付けることが出来る。(無名のものもある。)

 ・目的ごとに処理を分けたり、同じ処理を複数回行う場合に、一度定義した関数を使用することでコードの削減や可読性を上げることが出来る。

参考:

関数 - JavaScript | MDN

function 宣言 - JavaScript | MDN

Hoisting (巻き上げ、ホイスティング) - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN

 

3. 関数式とは

 ・関数を値として変数へ代入している式

 ・関数宣言は文、関数式は関数を値として扱う。

 ・関数宣言と違い、定義前に関数式を使用することはできない。(関数宣言は、定義前に使用可能)

 

参考:

関数と宣言 · JavaScript Primer #jsprimer

関数式 - JavaScript | MDN

 

3. 関数の作成(定義)方法

//function宣言での関数の作成
function 関数名(引数){
//実行する関数の内容  return returnする変数; }
//function式での関数の作成(無名関数)
型 関数名 = function(引数){
//実行する関数の内容
 return returnする変数;
}

 

例:

//function宣言での関数の作成
function Name(num) {
//実行する関数の内容
  return 2*num; }

//function式での関数の作成
const funcName = function(num){
  return 2*num;
}

 

 ・function:関数を定義する時に使用する。

 ・引数:関数で使用する変数の値や、オブジェクトなど。(引き渡す値がある場合に入れる。)

 ・return:返り値、関数で実行した値を戻す。(戻す値などがある場合に入れる)

 

3. 関数の使用

//引数を渡し、戻り値がある場合。 
変数 = 関数(引数);

//引数を渡して、関数を実行する。
関数名(引数);

//引数を渡し、戻り値がある場合。
変数 = 関数();

//関数を実行する場合 関数();

 

例:

let Num = Name(2);

 

・2という数値をNameという関数に引数として渡す。

・その計算結果でreturnで戻された値をNumという変数に入れている。

 

4. プログラムの作成(2倍にする関数の作成と実行)

<!DOCTYPE html>
<html lang="ja">
  <head>
  	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2倍</title>
  </head>
  
  <body>
	<p> NUM入力 <input type="text" size="15" value="300" id ="Num"></p>
	<p> 2倍の算結果_関数 <input type="text" size="15"  id = "ans"></p>
	<p> 2倍の算結果_関数式 <input type="text" size="15"  id = "ans2"></p>
	

	<script>
/**	************************************************************** */
/**
 *	2倍にする関数
 *	@param	num		: 数値
 *	@return			: 2倍の値
 */
/**	************************************************************** */		
		let Dou2 = function(num){
			return 2*num;
			}
	
		//Num1の値を取得
		let lnum1 = parseInt(document.getElementById("Num").value);
		//ansのidを取得
		let lans = document.getElementById("ans");
		//ans2のidを取得
		let lans2 = document.getElementById("ans2");

		//Double関数の実行
		lans.value = Double(lnum1);
		//Dou2の関数実行
		lans2.value = Dou2(lnum1);

/**	************************************************************** */
/**
 *	2倍にする関数
 *	@param	num		: 数値
 *	@return			: 2倍の値
 */
/**	************************************************************** */
		function Double(num){
			return 2*num;
		}
		
/*		こっちだとエラーになる。
		let Dou2 = function(num){
			return 2*num;
			}
*/
	</script>
  </body>
</html>

 

実行結果

ーーーーーーーーーーーーーーー

NUM入力

2倍の算結果_関数

2倍の算結果_関数式

ーーーーーーーーーーーーーーー

 

5. 無名関数の作成(定義)方法

function(){
 //実行する関数の内容  return returnする変数; }

 

例:

function () {
  return 2*num;
}

 ・これは、良くHTMLでイベントが発生した時に、実行したい動作を書くのによく使われる。

 

6. プログラムの作成(クリック時に2倍に計算する)

<!DOCTYPE html>
<html lang="ja">
  <head>
  	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2倍</title>
  </head>
  
  <body>
	<p> NUM入力 <input type="text" size="15" value="300" id ="Num2"></p>
	<p> 足し算結果 <input type="text" size="15"  id = "ans2"></p>
	<p> 計算実行  <input type="button" size="10"  id = "button"></p>
	

	<script>
		//変数宣言
		let lnum2;
		
		//ansのidを取得
		let lansid2 = document.getElementById("ans2");
		let lbuttonid = document.getElementById("button");
		
		//ボタン押下時実行(取得したNumの値を2倍にして、出力)
		lbuttonid.addEventListener("click",function(){
			//Num2の値を取得
			lnum2 = parseFloat(document.getElementById("Num2").value);
			lansid2.value = lnum2*2;
		})
	</script>
  </body>
</html>

実行結果

ーーーーーーーーー

NUM入力

足し算結果

計算実行

ーーーーーーーーー

 

 HTMLの基本の参考:

 ・HTML の基本 - ウェブ開発を学ぶ | MDN

HTMLのidとは?使い方やclassとの違いについても解説 | 侍エンジニアブログ

【HTML】id属性とは? 使い方と特徴を解説 | ZeroPlus Media

 ・HTML Living Standardリファレンス

 

関連記事

過去の記事: