関数についてです。
関数
関数とは「実行可能な」オブジェクト
argument
arguments
は配列風オブジェクトであり、関数に渡された引数の値を含んでおり、関数内からアクセスすることができます。
function func1(a, b, c) {
console.log(arguments[0]);
// expected output: 1
console.log(arguments[1]);
// expected output: 2
console.log(arguments[2]);
// expected output: 3
}
func1(1, 2, 3);
コールバック関数
他の関数に引数として渡される関数
利点としては
setTimeoutのように関数を◯秒後に発火する箱の中に入れて、関数を使いまわせる。
function hello(name){
console.log('hello'+ name);
}
function bye(){
console.log('bye');
}
function fn(cb){
cb('tom'); //引数で関数を実行
}
fn(hello);
fn(bye);
fn(function(name){
console.log('hello' + name); //無名関数でも使用可能
})
setTimeout(hello, 2000); //よく使われるコールバック関数
const person = {
hello: function () {
return 'hello Tom';
}
}
setTimeout(function(){console.log(person.hello())}, 1000); 無名関数で書くのが楽
//setTimeout(console.log(person.hello()), 1000);←これはconsole.logが先に評価されて(、)をうまく実行しないためダメ!