関数オブジェクト・スコープ - JavaScript

最終更新日: 2026-07-24

TOP(About this memo)) > 一覧(JavaScript) > 関数オブジェクト・スコープ

関数はオブジェクト(WIP)

function hello(message) {
    alert(message);
}
hello("word");

var hello = function(message) {
    alert(message);
}
hello("word");
var hello = new Function("message", "alert(message);");
hello("word");

仮引数の長さ

可変長引数

applyとcall

function ghi(arg1, arg2) {
    alert(arg1 + arg2);
}

ghi.apply(null, ["a", "b"]);
ghi.call(null, "x", "y");

変数のスコープ(WIP)

function foo() {
    for (var o in arguments) {
        var x = arguments[o];
    }
    alert(x); // -> "c"
}

foo("a", "b", "c");

スコープオブジェクト

var foo = 1;
var bar = 2;
function myfunc() { var a = 1; }
myfunc();
function myfunc() {
    var a = 1;
    return function() { return a++; };
}

ハマりやすい例

var elems = document.getElementsByClassName("myClass"), i;

for (i = 0; i < elems.length; i++) {
    elems[i].addEventListener("click", function () {
        this.innerHTML = i;
    });
}