JavaScriptのクラスもどきと、図形のアフィン変換ライブラリ (2)
関数
/* -*- coding: utf-8 -*- */ /* kk.js */ function f1(n) { return (n + 1); } var f2 = function(n) { return (n + 1); } function f3(n) { this.result = n + 1; return this.result; } function f4(n) { this.result = n + 1; } function f5(n) { this.result = n + 1; return this.result; } f5.message = "hello"; var obj1 = {} obj1.a = 100; obj1.f = function (n) { return (n + 1);}; var obj2 = { a : 200, f : function (n) { return (n + 2);} };
<html> <head> <script src="test.js" ></script> </head> <h1>Test</h1>
- オブジェクトって?
- オブジェクトとObjectは違う?
- 配列もオブジェクトなの?
- 「Objectオブジェクト」
- 関数はオブジェクト(要注意)である。
- 関数は引数を渡して実行できる。「呼び出し」という。
- 普通の丸括弧を使う以外の呼び出し方
- 関数は値を返す(undefinedを返すことを含む)。
- 関数はオブジェクトのセットアップにも使える。
- 関数でセットアップされたオブジェクトには痕跡が残る。
- 関数はオブジェクトだからプロパティを持てる。
- オブジェクトのプロパティ値を関数にできる。
- 関数のprototypeプロパティは特別な意味を持つ。
- Objectオブジェクトの__proto__プロパティは特別な意味を持つ。
- 「プロトタイプ」という言葉、分類のクラスとはまったく異なる発想。典型例、親玉、依頼先、便利屋、ヒーロー、…。
- this, prototype, __proto__ ですべて説明が付く。