我做了一些调试,我发现了这句话:
$(this)[widget.widgetName](widget.attributes);
其中widget.widgetName = chart
这个语句在jquery中的含义是什么?
在堆栈中我看到jquery_ui调用了jquery-ui的_createwidget
为什么要调用createwidget?
此致 贝纳
答案 0 :(得分:2)
$(this)[widget.widgetName]
使用方括号表示法来引用其值为widget.widgetName
的属性。有关方形backet和“点符号”之间的比较,请参阅MDC article。
正如您所说widget.widgetName
是chart
,它引用的是:
$(this).chart
然后(widget.attributes);
只是调用该函数并将widget.attributes
作为第一个也是唯一的参数传递:
$(this).chart(widget.attributes);
至于“为什么要调用createwidget?” chart()
函数必须隐式(通过另一个函数)或显式调用它。
答案 1 :(得分:2)
$(this)[widget.widgetName]
指 widget.widgetName
定义的 $(this)的属性在这种情况下它只是
$(this).chart
答案 2 :(得分:0)
$(this)
指的是jQuery对象。在这种情况下,您位于事件处理程序,元素选择器或其他类型的jQuery上下文中,其中$(this)
引用外部选择器中的jQuery对象。