javascript闭包传入参数
(function($,window,undefined){//其他代码})(this.jQuery||this.lhgcore,this);帮我解释一下,各个形参的涵义...
(function($, window, undefined) {
//其他代码
})(this.jQuery || this.lhgcore, this);
帮我解释一下,各个形参的涵义,还有就是,这个方法的在页面加载中的执行顺序
,我查了一下,这好像是属于“闭包传参”但是一点都不懂,所以还是就这个例子解释一下吧,谢谢 展开
//其他代码
})(this.jQuery || this.lhgcore, this);
帮我解释一下,各个形参的涵义,还有就是,这个方法的在页面加载中的执行顺序
,我查了一下,这好像是属于“闭包传参”但是一点都不懂,所以还是就这个例子解释一下吧,谢谢 展开
3个回答
展开全部
闭包嘛,大致是说:
内层的函数能用外层的函数的东西,而外层的函数不能用内层的函数的东西;比如说:
var a='a';
alert(t)//错误,因为变量t定义在window.onload=function (){}里,不能在此函数外访问
window.onload=function ()
{
var t=0;
alert(a);//没有出错,因为a定义在window.onload=function (){}外,在此内部也能访问
alert(b);出错,因为变量b定义在Fn(){}里,不能在此函数外访问
function Fn()
{
var b='b';
alert(a);//没有出错,因为a定义在function Fn (){}外,在此内部也能访问
alert(t);//没有出错,因为a定义在function Fn (){}外,在此内部也能访问
}
}
这就是大概上的闭包了,而你问的这个,和闭包好像没什么关联。
而你写的那个像函数又不是函数的代码,不太好看懂是什么意思。
我没别的意思,只是说,如果这样问的话,好像没办法说个所以然。
说清楚我才知道能不能帮上你呀!!!
内层的函数能用外层的函数的东西,而外层的函数不能用内层的函数的东西;比如说:
var a='a';
alert(t)//错误,因为变量t定义在window.onload=function (){}里,不能在此函数外访问
window.onload=function ()
{
var t=0;
alert(a);//没有出错,因为a定义在window.onload=function (){}外,在此内部也能访问
alert(b);出错,因为变量b定义在Fn(){}里,不能在此函数外访问
function Fn()
{
var b='b';
alert(a);//没有出错,因为a定义在function Fn (){}外,在此内部也能访问
alert(t);//没有出错,因为a定义在function Fn (){}外,在此内部也能访问
}
}
这就是大概上的闭包了,而你问的这个,和闭包好像没什么关联。
而你写的那个像函数又不是函数的代码,不太好看懂是什么意思。
我没别的意思,只是说,如果这样问的话,好像没办法说个所以然。
说清楚我才知道能不能帮上你呀!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在这个函数中真正执行的函数主题是(function($, window, undefined) {
//其他代码
}),而后面(this.jQuery || this.lhgcore, this);就是传入的参数,
其实可以这样理解
function wpfworldcom($,window,undefined)
{
//其他代码
}
wpfworldcom(this.jQuery||this.lhgcore,this);
//其他代码
}),而后面(this.jQuery || this.lhgcore, this);就是传入的参数,
其实可以这样理解
function wpfworldcom($,window,undefined)
{
//其他代码
}
wpfworldcom(this.jQuery||this.lhgcore,this);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(function($, window, undefined) {
//其他代码
})(this.jQuery || this.lhgcore, this);
这类代码的写法相当于声明匿名函数后立即执行;
末尾的(this.jQuery || this.lhgcore, this)相当于是实参,对应的是形参($, window, undefined) 相对应的位置。
//其他代码
})(this.jQuery || this.lhgcore, this);
这类代码的写法相当于声明匿名函数后立即执行;
末尾的(this.jQuery || this.lhgcore, this)相当于是实参,对应的是形参($, window, undefined) 相对应的位置。
追问
那这样的话参数的个数是不是就对不上了?
形参三个,实参是两个啊
还有就是"$"符号也可以作为参数吗?
追答
$也是作为参数的,参数从左到有依次匹配,对不上的参数会忽略掉,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询