在内部函数中传递对象

passing object inside inner function

本文关键字:对象 内部函数      更新时间:2023-09-26
function google(){
     var kevin = "hello";
     john(kevin);
}
function john(arg){
     var mark = arg;
    function yahoo(mark){
          alert(mark);   
    }
}

现在当我调用我的函数google()时,为什么它不调用雅虎的警报。

您不调用yahoo。您需要这样做:

function john(arg){
     var mark = arg;
    function yahoo(mark){
          alert(mark);   
    }
    yahoo(mark); // <-------
}

你也可以这样重构你的代码:

function john(arg){
     var mark = arg;
    (function yahoo(){
          alert(mark);   
    })();
}

因为john内部没有yahoo函数调用

function john(arg) {
    var mark = arg;
    function yahoo(mark) {
          alert(mark);   
    }
    yahoo(mark);  // <-- call
}

您正在定义函数yahoo,但从未实际调用它。试试这个:

function google(){
     var kevin = "hello";
     john(kevin);
}
function john(arg){
     var mark = arg;
     yahoo(mark);
     function yahoo(mark){
          alert(mark);   
     }    
}