2011-07-26 12 views
0

I wasn't sure what it was called, but I was trying to have a function return a reference to it's self. Thank you very much渡す自己(機能)が

これは私が

これはしかし、例であること、(私は任意の使用可能なGoogleの検索結果を見つけることができていない理由であるかもしれない)説明するのは非常に困難です私が何を意味するかを示します

this.test = function(foo){ 
    return this.test; //The function is namespaced 
} 

私はここで何をしようとしているのかを説明してくれることを願っています。私はこの作業であまり希望がありませんが、私はより大きなjavascriptオブジェクトを作成し始めているので、私は慣れていない奇妙なものにぶち当たっています(JavaScriptのクラスはあまり進んでいません)

+9

あなたの質問は何ですか? – Crisfole

+1

ここにロジックがありません。関数が自分自身への参照を返すようにしようとしていますか? –

+0

はい私は自身への参照を返す関数を取得しようとしています。もう一度ありがとう – vvMINOvv

答えて

2

内側と外側のthis.testは同じではありません。thisは各スコープで同じではないためです。

(私はあなたがすることをしたいと思う理由はわからないが)自分自身を返す関数を記述するためにこの方法を試してください。

var that = this; 
that.test = function() { 
    return that.test; 
} 

をあなたの例ではthis.testは常に未定義

+2

私は関数式に名前を付けるだけです。 – CMS

+0

申し訳ありませんが、私は数日間旅行しなければなりませんでしたが、私は今これをテストしています。 (また、それはまさに私がやろうとしていることです、私はそれを返す機能を得ようとしています。) – vvMINOvv

+0

IT WORKS !!!ありがとうAトーン@Greg GuidaとCMS もし私があなたにもっとポイントを与えることができる場合。乾杯! http://jsfiddle.net/qjJwP/2 – vvMINOvv

0

何を返します。あなた実際には何もしないでください。 これは「何かをする」

myName={}; 

myName.test = function(foo){ 
    return foo;  
} 

alert(myName.test("hello")) 
+0

あなたの努力に感謝します@ジョニー。ほんとうにありがとう。乾杯。 – vvMINOvv

関連する問題