「This (プログラミング)」の版間の差分

削除された内容 追加された内容
Hikaru02 (会話 | 投稿記録)
m JavaScriptに関する仕様や実際の挙動と異なる説明を修正
47行目:
object.notify();
</source>
のように関数(<code>object.notify</cocdecode>)をメソッドとして呼び出した場合、<code>this</code>は<code>object</code>を指す。また、
<source lang='javascript'>
Counter = function () { this.counter_value = 0; };
54行目:
のように <code>[[new演算子|new]]</code> を付けて関数(<code>Counter</code>)を[[コンストラクタ]]として呼び出した場合、<code>this</code> は新しく生成されるオブジェクトを指す<ref name="atit_4_1">{{cite web|url=http://www.atmarkit.co.jp/fdotnet/ajaxjs/ajaxjs04/ajaxjs04_01.html|title=連載:{{lang|en|Ajax}}時代の{{lang|en|JavaScript}}プログラミング再入門 第4回 {{lang|en|JavaScript}} でオブジェクト指向プログラミング {{lang|en|Page}}1|publisher=[[@IT]]|date=2007年9月25日|accessdate=2011年12月13日| author=山田祥寛}}</ref>。
 
関数を単独で呼び出す場合は、<code>this</code>はstrict-mode中であれば<code>nullundefined</code>であり、そうでなければグローバルオブジェクトを指すが、<code>this</code>が何を指すかを個別に指定して呼び出すこともできる。(<code>Function.prototype.apply</code>) <ref>{{cite web|url=http://gihyo.jp/dev/serial/01/crossbrowser-javascript/0016|title=これでできる! クロスブラウザ{{lang|en|JavaScript}}入門 第16回 {{lang|en|JavaScript}}の<code>this</code>と<code>call</cocde>|publisher=[[技術評論社]]|date=2010年10月12日|accessdate=2011年12月16日|author=太田昌吾}}</ref>。
 
==={{lang|en|Object Pascal}}===