エンジニア備忘録

普段の業務で得た知識や勉強の中で知ったことなどを忘れないように載せていこうかと思います。

JavaScriptの勉強

JavaScriptを勉強していて、新しい考え方やとっつきにくかった部分などの備忘録

オブジェクトリテラル

var obj = {width:100, height:120};
document.write(obj.width);

参考:オブジェクトリテラル

関数もオブジェクト

var sample = new Object();
sample.func1 = function(str){
    alert(str);
}
sample.func1("hello");

匿名の関数オブジェクトを作り、それをsampleオブジェクトのfunc1というプロパティに代入。代入後はこのfunc1というプロパティを関数として使うことができる。

var sample = new Object();
sample.func1 = function(){
    this.i = 0;
    this.innerFunc1 = function(str){
        alert(str);
    }
}
var newObj = new sample.func1();
newObj.innerFunc1("hello");

new演算子で指定したfunc1関数はコンストラクタとして扱われる 。また、newObjに渡されるオブジェクトは、コンストラクタの「this」が参照しているオブジェクトである。

参考:

JavaScriptの関数とメソッド

JavaScriptとオブジェクトの関係

プロトタイム継承

これは調べればいくらでも記事が出てきました。
どのオブジェクトからでも参照できるオブジェクトということで、
Javaで言うObjectクラスみたいなものかなと理解しました。