LoginSignup
0
1

More than 5 years have passed since last update.

JavaScript関数を格納した変数と、コールバック関数覚書

Last updated at Posted at 2018-08-25

はじめに

JavaScriptを学習していく中で自分の為にメモを書き残しておきます。
今回は関数を格納した変数と、コールバック関数について。

関数を格納した変数


"use strict";

function nameSpace(lastName, firstName) {  //スペースで結合の関数を作成
    return lastName + " " + firstName;  //lastNameとfirstNameの結合をreturn
}

function nameDot(lastName, firstName) {  //ドットで結合の関数を作成
    return lastName + "" + firstName;  //lastNameとfirstNameの結合をreturn
}

let lName = "柳生";  //lNameに代入
let fName = "十兵衛";  //fNameに代入
let nameList = [nameSpace, nameDot];  //nameListにそれぞれの関数を配列として代入
for(let func of nameList) {  //forにてnameListをfuncに代入して処理
    let name = func(lName, fName);  //1回目、nameSpaceを処理、2回目nameDotを処理
    console.log("結果: " + name);  //1回目、2回目それぞれで結果を出力
}

出力結果"結果: 柳生 十兵衛""結果: 柳生・十兵衛"

コールバック関数


"use strict";

function nameSpace(lastName, firstName) {  //スペースで結合の関数を作成
  return lastName + " " + firstName;  //lastNameとfirstNameの結合をreturn
}

function useNameSpace(name, func){  //nameには後述のnameItem、funcには上記のnameSpaceが入る
  let fullName = func(...name); //funcに変数化された関数が入ることを想定。nameを可変長引数で記述し、それをfullNameに代入
  console.log("結果 " + fullName); //結果を出力
}

let nameItem = ["柳生", "十兵衛"]; //nameItemに配列を代入
useNameSpace(nameItem, nameSpace);//useNameSpaceを呼び出し、nameItemを第1引数、nameSpace(関数)を第2引数として↑の処理を実行

出力結果"結果 柳生 十兵衛"

forEach


function printElement(currentValue, index, array) {
  console.log((index + 1) + "個目の値: " + currentValue);
}

let list = [ 4, 31, 48, 6, 19];
list.forEach(printElement);

出力結果
"1個目の値: 4"
"2個目の値: 31"
"3個目の値: 48"
"4個目の値: 6"
"5個目の値: 19"

となりlistの配列を順番に処理してくれる。
()内のcurrentValue, index, arrayはそれぞれ

currentValue = 処理中の配列内要素の値
index = 処理中の配列内要素のインデックス
array = 配列そのもの

となる。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1