[JavaScript]callメソッドを使って無名関数を呼び出すサンプル

書式
1.配列内の各オブジェクトの定義

const 配列名 = [ 
     {引数1:値1,引数2:値1},
       {引数1:値2,引数2:値2},
     略
   ]

2.無名関数の定義
(function(i) {
this.result = function(){処理コード}
this.result();
ここでの無名関数の主な目的は、 result関数をすべてのオブジェクトに追加することで、配列内のオブジェクトの正しいインデックスを表示できるようにします。

使用例

/*配列内の各オブジェクトの定義*/
const users = [
  { city: '大阪', name: '山田 太郎' },
  { city: '東京', name: '佐藤 次郎' },
  { city: '福岡', name: 'テスト次郎' }
];

for (let i = 0; i < users.length; i++) {
  //無名関数
  (function(i) {
    // result関数の定義
    this.result = function() {
      console.log('#' + i + ' ' + this.city
                  + ': ' + this.name);
    }
    //result関数を呼び出す
    this.result();
  }).call(users[i], i);
}

実行結果

> "#0 大阪: 山田 太郎"
> "#1 東京: 佐藤 次郎"
> "#2 福岡: テスト次郎"

 

JavaScript

Posted by arkgame