Javascript 自调用函数中未定义的变量

Javascript 自调用函数中未定义的变量,javascript,jquery,Javascript,Jquery,我想知道,如果我这样声明,为什么它没有定义: var mainBtn = $('.main-button'), cloneFund = (function(mainBtn) { console.log(mainBtn); // undefined return arguments.callee; })(); 甚至: var btn = $('.main-button'), cloneFund = (function(btn) {

我想知道,如果我这样声明,为什么它没有定义:

var mainBtn = $('.main-button'),
    cloneFund = (function(mainBtn) {
        console.log(mainBtn); // undefined
        return arguments.callee;
    })();
甚至:

var btn = $('.main-button'),
    cloneFund = (function(btn) {
        console.log(btn); // undefined
        return arguments.callee;
    })();

您必须通过mainBtn才能正常工作

var mainBtn=$('.main按钮'),
克隆基金=(功能(主BTN){
console.log(mainBtn);//可用
返回参数.callee;
})(mainBtn);//这里您必须通过

主按钮
您应该有:

var btn = $('.main-button'),
    cloneFund = (function(btn) {
        console.log(btn); // undefined
        return arguments.callee;
})(btn); // need to add the argument when invoked

因为您没有向函数调用传递任何参数,
}(),函数参数覆盖外部作用域中的变量,它们不共享值是它只是我还是两个样本相同但只是变量名称不同?我明白了,但为什么anon函数没有访问变量的权限?