2012年10月30日
this の使い方
{a8.net http://books.livedoor.com/item/3481813}
今回は、意外に便利な this キーワードについて紹介します。
this は関数内で、簡単にいうと、今の自分をあらわすときに使います。
基本的には作成されたインスタンスのことをあらわします。
従って、通常の関数の場合は window オブジェクトになることがほとんどです。
以下で確認することができます。
これを、より汎用性のある方法で活用してみましょう。
まず、this で、今現在のオブジェクトを参照するようにします。
test が属するインスタンスのソースコードを返す関数です。
これを呼出す際に、インスタンスを作成できるようにしましょう。
さらに、呼出元を変更する際には、関数オブジェクトに対して、apply を使用します。
第一引数は this にするオブジェクトです。
ちなみに、第二引数は本来の関数の引数の配列です。
汎用性の高い関数、ライブラリなどを作成する際は、このようなテクニックがあれば、
比較的簡単に実装できるのではないでしょうか。
{a8.net http://books.livedoor.com/item/1752906}
今回は、意外に便利な this キーワードについて紹介します。
this は関数内で、簡単にいうと、今の自分をあらわすときに使います。
基本的には作成されたインスタンスのことをあらわします。
従って、通常の関数の場合は window オブジェクトになることがほとんどです。
以下で確認することができます。
alert(this.toString())
これを、より汎用性のある方法で活用してみましょう。
まず、this で、今現在のオブジェクトを参照するようにします。
function test() {
alert(this.toString());
}
test が属するインスタンスのソースコードを返す関数です。
これを呼出す際に、インスタンスを作成できるようにしましょう。
function instance() {
this.test = function() {
alert(this.toString());
}
}
var ins = new instance();
ins.test();
さらに、呼出元を変更する際には、関数オブジェクトに対して、apply を使用します。
第一引数は this にするオブジェクトです。
ちなみに、第二引数は本来の関数の引数の配列です。
var ins = new instance();
ins.test.apply(document);
汎用性の高い関数、ライブラリなどを作成する際は、このようなテクニックがあれば、
比較的簡単に実装できるのではないでしょうか。
{a8.net http://books.livedoor.com/item/1752906}
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
posted by FJT at 01:28| javascript