我做了一些调试,我发现了这个语句:
$(this)[widget.widgetName](widget.attributes);
其中 widget.widgetName = 图表
jquery中这条语句是什么意思?
在堆栈中我看到 jquery_ui 调用 jquery-ui 的 _createwidget
为什么 createwidget 被调用?
问候, 约西
$(this)[widget.widgetName]
使用方括号表示法来指代值为 的属性widget.widgetName
。有关方形后退和“点表示法”之间的比较,请参阅MDC 文章。
正如你所说,它指的是widget.widgetName
:chart
$(this).chart
然后(widget.attributes);
只是简单地调用函数并widget.attributes
作为第一个也是唯一的参数传递:
$(this).chart(widget.attributes);
至于“为什么会调用 createwidget?” 该chart()
函数必须调用它,无论是隐式(通过另一个函数)还是显式。
$(this)[widget.widgetName]
指的是widget.widgetName定义的$(this)的属性
在这种情况下,它只是
$(this).chart
$(this)
指的是一个 jQuery 对象。在这种情况下,您位于事件处理程序、元素选择器或其他类型的 jQuery 上下文中,其中$(this)
引用外部选择器中的 jQuery 对象。