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

js这样写是什么意思?var a=(function(){ //alert(1); })(a)
2024-11-15 15:36:25
推荐回答(4个)
回答(1):

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();//被调用一次

回答(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();//调用
...手写的,见谅

回答(3):

以a作为参数,直接执行这个函数,并将结果返回赋值给a

回答(4):

函数 执行结果赋值给变量a
var b = 123;
var a=(function(){
return b;
})(b)//传递参数b

console.log(a);//a=123