js这样写是什么意思?var a=(function(){})(a)

js这样写是什么意思?vara=(function(){//alert(1);})(a)... js这样写是什么意思?
var a=(function(){
//alert(1);

})(a)
展开
 我来答
yugi111
推荐于2018-02-27 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
var a=(function(a){
    // todo
})(a);
console.log(a);
// 定义一个匿名函数,把a传递进去,a是undefined
// 因为匿名函数本身没有返回值,如果是

var a=(function(a){
    return 1;
})(a);

console.log(a);// a此时就是1


// 如果要自动运行这个匿名函数的同时又赋值给a,那就应该是这样的:
var i = 0;// 计数器
var a=(function(a){
    i++;
    console.log("i am running..." + i);
    return arguments.callee;
})(a);// 这里跑一次

a();//被调用一次
追问
我主要是不明白为什么最后小括号里要放个a(a不是当前函数本身么?)
追答
a放进去是作为参数传递到匿名函数中去的。

具体该不该放,要看当事人的需求了
RomoneyBoBo
2017-09-14
知道答主
回答量:20
采纳率:0%
帮助的人:2万
展开全部

1,你得先知道js自执行函数写法,不用调用直接执行 ,一般两种

//自执行写法1
(function T(){
alert(1)
})()
//自执行写法2
var T1=function(){
alert(1)
}();
//传值
var para1={a:1;b:2,c:'Ok'}
var T1=function(obj){
alert(obj.a)
}(para1);

//如果不用自执行方式,就得调用
function T(){
alert(1)
}
T();//调用
...手写的,见谅
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wwp66650
2015-09-09 · 超过16用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:28.7万
展开全部
以a作为参数,直接执行这个函数,并将结果返回赋值给a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
37972547
推荐于2017-09-18 · TA获得超过132个赞
知道小有建树答主
回答量:71
采纳率:0%
帮助的人:73.4万
展开全部
函数 执行结果赋值给变量a
var b = 123;
var a=(function(){
return b;
})(b)//传递参数b

console.log(a);//a=123
更多追问追答
追问
可是他把a(也就是函数本身)传进去是什么意思呢?
追答
此时a不存在。undefined;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式