function google(){
var kevin = "hello";
john(kevin);
}
function john(arg){
var mark = arg;
function yahoo(mark){
alert(mark);
}
}
現在,當我打電話給我的功能google()
爲什麼它沒有在雅虎呼叫警報。傳遞內部函數內部對象
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);
}
}
我需要一個變量標記,或者我可以直接傳遞參數。 – Kevin
如果你願意,你可以通過arg。 – Lloyd
@Lloyd您的語法在重構的案例中無效。自執行功能應該用圓括號包裝。 – VisioN