2012-05-09 9 views
1

の問題、私はいくつかのデバッグを行うと、私はこの文を見つけました:jqueryの声明 - 選択

$(this)[widget.widgetName](widget.attributes); 

widget.widgetName =チャート

jqueryの中にこの文の意味は何ですか?私はjquery_uiはなぜcreatewidgetが呼び出されるのでしょうか?jqueryの-UI

の_createwidgetを呼び出すことがわかりましたスタックで

よろしく、 ヨッシ

$(this)

答えて

2

$(this)[widget.widgetName]は、値がwidget.widgetNameの値を持つプロパティを表すために角かっこ表記を使用します。正方形のバックセットと "ドット表記法"の比較については、MDC articleを参照してください。

あなたはwidget.widgetNamechartで、それが参照のうえだ言ったように:

$(this).chart 

、その後(widget.attributes);は、単に機能を呼び出すと、最初で唯一のパラメータとしてwidget.attributesを渡している:については

$(this).chart(widget.attributes); 

"なぜcreatewidgetが呼び出されるのですか?" chart()関数は暗黙的に(別の関数を介して)明示的に呼び出す必要があります。

+0

$(this).chart 
である方法は、グラフを作成してい.. jqueryの方法ですか? – user1365697

+0

@ user1365697 ...わかりません? – Matt

0

はjQueryオブジェクトを指します。この場合、イベントハンドラ、要素セレクタ、またはその他の種類のjQueryコンテキスト内にあります。$(this)は、外部セレクタのjQueryオブジェクトを参照します。

2
$(this)[widget.widgetName] 

によって定義された$(この)のpropertを指すwidget.widgetName

この場合、それは単に

+0

しかし、このステートメント$(this)[widget.widgetName](widget.attributes)に続き、この場合の(widget.attributes)の意味は何ですか? – user1365697

+1

私はこの答えに追加しようとしていましたが、あなたの質問に答えようとしていましたが、@Mattは最初にそこにいるようです。 – Arthus