(function(){})表示一个匿名函数。function(arg){...}定义了一个参数为arg的匿名函数,然后使用(function(arg){...})(param)来调用这个匿名函数。其中param是传入这个匿名函数的参数。
目前创新互联公司已为1000多家的企业提供了网站建设、域名、网站空间、网站托管、服务器托管、企业网站设计、昌邑网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
需要注意与$(function(){})的区别:$(function(){})
是
$(document).ready(function(){})
的简写,用来在DOM加载完成之后执行一系列预先定义好的函数。
首先函数会构建
作用域
,把jQuery传进去,可以减少作用域查找。
如果不把jQuery当
参数传递
,则你使用变量jQuery/$的时候,首先会在函数体内查找,然后进fn查找,最后到window下查找。
而你把jQuery传进去之后,则只需要在函数体内查找$即可。
如果以后
依赖的是Zepto/jqlite,你只需要改下参数就行了,在这种极端的情况下,降低了代码修改和可复用成本。
var foo=function(){};
传递参数简单:
.click(function(params){
alert(params);
});
正常传递就可以,至于返回值的问题,返回值最终是要交给调用函数的对象,在这里是click,click并不能接收返回值,所以该函数,返回不返回值是没有意义的。
扩展资料:
注意事项
function(arg){
//....
}
这种形式的在javascript中称之为匿名函数。arg则是匿名函数的参数。
而(function($){
})(jQuery);这种形式则是执行匿名函数并且传递参数jQuery。
其实就相当于
var func = funtion($){
//.....
};
func(jQuery);
其实这两种写法是一个意思。只不过直接写成了上面的形式罢了。
(function($){...})(jQuery)
$(function(){ }实际上是匿名函数。这是JQuery的语法,$表示JQuery对象,可以有好几种用法。比如传递选择器字符串、页面对象等,如果直接传函数体进去,表示当页面加载完毕时执行这个函数。
这里实际上是匿名函数 “$(function(){ } ”这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:“$(function(){ } ”这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数 而“$(function(){ } ”则是一样的,之所以只在形参使用$,是为了不与其他库冲突。
(funtion(){})();立即执行函数;相当于先申明一个函数,声明完后直接调用。