Javascript .on(事件[,选择器][,数据],处理程序)的平均值

Javascript .on(事件[,选择器][,数据],处理程序)的平均值,javascript,jquery,Javascript,Jquery,我在用阅读的方法 方法签名是。on(events[,selector][,data],handler) 这意味着它基本上接受4个参数 我不明白事件[是什么意思(为什么打开方括号) 类似地,这里的选择器][和这里的数据]表示这两个参数是可选的。调用.on()时,可以指定这些参数的任意组合: 请注意,如果同时指定选择器和数据,则必须按顺序指定它们。尽管有选项,但必须保持参数的一般顺序 此外,由于JavaScript是动态类型的,因此无论您是否指定采用字符串的选择器,都将影响数据可以具有的值类型(普通

我在用阅读的方法 方法签名是
。on(events[,selector][,data],handler)

这意味着它基本上接受4个参数

我不明白
事件[
是什么意思(为什么打开方括号)
类似地,这里的
选择器][
和这里的
数据]

表示这两个参数是可选的。调用
.on()
时,可以指定这些参数的任意组合:

请注意,如果同时指定
选择器
数据
,则必须按顺序指定它们。尽管有选项,但必须保持参数的一般顺序


此外,由于JavaScript是动态类型的,因此无论您是否指定采用字符串的
选择器
,都将影响
数据
可以具有的值类型(普通对象、函数等)。有关详细信息,请参阅注释。

这意味着该参数是可选的。@Vohuman什么意思是],][和[?@SpringLearner:他们已经回答了你-你为什么要重复你的问题?请像
[,selector]一样阅读它
选择器
是一个可选参数。两个参数是必需的
事件
处理程序
。这就是为什么它们之间用
分隔的原因,但是所有其他中间段都是可选的,这就是为什么您会看到
[,]
值得一提的是
数据
不能是
字符串
(因为它将被视为选择器)如果未指定选择器..并且当
数据
是一个
函数
时,这种情况似乎有效。@Regent是的,
数据
也可以是一个函数。还要注意,处理程序参数(请参见第二个函数签名)也是可选的。因此,这也是完全有效的:
$('body')。on('click)
(虽然可能没有多大意义)。因此,我认为唯一真正引起混淆的原因是,为什么可选参数选择器和数据使用括号记录,而可选处理程序参数是通过给函数两个签名记录的。
.on( events, selector, data, handler )
.on( events, selector, handler )
.on( events, data, handler )
.on( events, handler )