トッカンソフトウェア

JavaScript 関数

今回は関数をやります。


定義

				
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScriptのテストページ</title>
<script type="text/javascript">
	
	function aaa(bbb, ccc){
		
		// 指定された引数の数
		console.log(arguments.length);
		
		// 引数が指定されない場合、初期値セット
		if(bbb === undefined)bbb = "nothing";
		if(ccc === undefined)ccc = "nothing";
		
		return "---" + bbb + ":" + ccc + "---";
	}
	
	// 引数を省略することができます
	alert(aaa("test"));
</script>
</head>
<body>
</body>
</html>


			
関数はfunctionで処理を囲みます。戻り値があればreturnで戻し、なければreturn; だけを書くか、return自体を書きません。

引数は省略しても関数を呼ぶことが出来ます。呼び出し元で引数が指定されたかはundefinedと比較して調べます。

関数を変数に入れる

				
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScriptのテストページ</title>
<script type="text/javascript">
	
	// 関数は変数に入れることが出来ます。
	var method1 = function(x,y){
		return x + y;
	};
	var method2 = function(x,y){
		return x - y;
	};

	function show(meth){
		alert(meth(2,3));
	}
	
	//引数で渡すことも出来ます。
	show(method1);
	show(method2);

</script>
</head>
<body>
</body>
</html>


			
ボタン押下などのイベントに関数を割り当てるときに使われています。

文字列を実行

				
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScriptのテストページ</title>
<script type="text/javascript">
	
	var msg = 
		"var a = 10;" +
		"var b = 20;" + 
		"alert('文字列を実行:' + (a + b))";
	
	eval(msg);
</script>
</head>
<body>
</body>
</html>
			
eval()関数を使用することで文字列をJavaScriptの処理として実行することが出来ます。


ページのトップへ戻る