JavaScript オブジェクトの変数の範囲を理解しようとしていました。しかし、私が得ている行動は少し道から外れているようです。簡単に言えば、関数を変数として定義するオブジェクトがある場合、関数変数は、それが定義されているオブジェクトの他の変数にアクセスできません。以下のコードは物事を明確にします。
<html>
<head>
<script type="text/javascript">
var someObject = {
someVariable : 5,
getVariable: function() {
return someVariable;
}
};
window.onload = function () {
alert(someObject.getVariable());
};
</script>
</head>
<body>
Hello There
</body>
</html>
上記のコードは、関数 getVariable() の someVariable に対して「ReferenceError: someVariable is not defined」を返します。この振る舞いについてコメントしたい人はいますか?