JavaScriptのHead/Global オブジェクトを学ぶ

以下のページでJavaScriptを体系的に学んでいます。 www.mojage.club

本記事は、JavaScriptのHead/Global オブジェクトについて纏めています。

Sponsored Link

Head/Global オブジェクト

Webブラウザ上でJavaScriptを動かす場合、Headオブジェクトはwindowオブジェクトになります。私たちが書いたコードを実行する為に、JavaScriptはHeadオブジェクトの中にコードを配置します。

    var myStringVar = 'myString';
    var myFunctionVar = function(){};
    myString = 'mystring';
    myFunction = function(){};
    
    console.log('myStringVar' in window);   // true
    console.log('myFunctioVar' in window);  // true
    console.log('myString'in window);       // true
    console.log('myFunction'in window);     // true

グローバルファンクション

JavaScriptが用意しているネイティブファンクションの内、Headオブジェクトを意識しているものです。

ネイティブファンクション名 説明
decodeURI() encodeURI()などにエンコードされたURIをデコードする。
decodeURIComponent() encodeURIComponent()などにエンコードされたURIの構成要素をデコードする。
encodeURI() URIをエンコードし、エスケープシークエンスに置き換える。
encodeURIComponent() URIをエンコードし、エスケープシークエンスに置き換える。
eval() 文字列を JavaScript コードとして評価する。
isFinite() 渡された値が有限数かどうかを判定する。
isNaN() 非数かどうかを判定する。
parseFloat() 引数として与えられた文字列を構文解析して浮動小数点数を返す。
parseInt() 第1引数の文字列を解析し、第2引数に与えられた基数にもとづく整数を返す。

グローバルプロパティとグローバル変数

Headオブジェクトは全てのオブジェクトを内包した一つのオブジェクトです。その為、グローバルプロパティとグローバル変数はHeadオブジェクト内であればどこからでも参照できます。

    var foo = 'bar';
    var myApp = function(){
      var run = function(){
        console.log(foo);
      }();
    }
    myApp();  // bar

Headオブジェクトの参照方法

2つの方法でHeadオブジェクトを参照することが出来ます。windowthisです。

    var foo = 'bar';
    windowRef1 = window;
    windowRef2 = tihs;
    
    console.log(windowRef1, windowRef2);          // reference to window object
    console.log(windowRef1.foo, windowRef2.foo);  // bar bar