JavaScriptのオブジェクトのメソッド

インスタンス

科目推薦:
  var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 648,
    fullName : function() {
  }
};

実際に試してみてください

return this.firstName + " " + this.lastName;

JavaScript メソッド

JavaScript メソッドは、オブジェクト上で実行できるアクションです。 メソッドJavaScript関数定義の属性を含んでいます。

属性 の値
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

メソッドはオブジェクト属性として保存された関数です。

this キーワードと呼ばれます。

JavaScriptでは this のこと、JavaScript コードを持つオブジェクトを指します。

this の値は、関数内で使用される場合、その関数を「持つ」オブジェクトです。

注意してください this 変数ではありません。キーワードです。変更することはできません。 this の値を取得します。

オブジェクトメソッドにアクセス

以下の構文を使用してオブジェクトメソッドを作成してください:

methodName : function() { コード行 }

オブジェクトメソッドにアクセスするための以下の構文を使用してください:

objectName.methodName()

通常、fullName()を person オブジェクトのメソッド、fullNameを属性として説明します。

fullName 属性が()で呼び出された後は、関数として実行されます。

この例では person オブジェクトの fullName()にアクセスしています。 メソッド

インスタンス

name = person.fullName();

実際に試してみてください

fullNameをアクセスする場合 属性()を使用していない場合、関数定義

インスタンス

name = person.fullName;

実際に試してみてください

内蔵メソッドを使用

この例では String オブジェクトの toUpperCase() テキストを大文字に変換する方法:

var message = "Hello world!";
var x = message.toUpperCase();

上記のコードを実行した後、x の値は以下のようになります:

HELLO WORLD!

新しいメソッドの追加

オブジェクトにメソッドを追加することは、コンストラクタ関数内で行われます:

インスタンス

function person(firstName, lastName, age, eyeColor) {
    this.firstName = firstName;  
    this.lastName = lastName;
    this.age = age;
    this.eyeColor = eyeColor;
    this.changeName = function (name) {
        this.lastName = name;
    };
}

changeName() 関数の name の値が person の lastName 属性に割り当てられます。

今では以下を試すことができます:

myMother.changeName("Jobs");

実際に試してみてください

myMother “置き換え” することで、JavaScript はどの person を指しているかを明確にします。