(function(a,n){
a.fn.test = function(){
a(this).click(function(){
console.log("pp")
})
console.log(n,this)
}
})(jQuery,document)
(function(){})的格式是匿名函数,而函数末尾加上()是传入参数,如上
jQuery和document是传给匿名函数的a,n两个参数
而在匿名函数内部就可以使用a,n两个参数的属性,方法,也即jQuery和document的属性和方法
再调用这个匿名函数
$("#pp").test();
输出
pp
执行流程:
.test会调用匿名函数内的a.fn.test函数
然后执行.click()函数
再打印pp
经过我的推论
末尾部的()传入对象,比如json可以改变其内部的属性,而传入变量则改变不了
a.fn也即$.fn是jquery储存事件的对象,可以看图:
这是我在控制台打印a.fn出来的内容