亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

任何人都可以解釋為什么這個 Javascript 函數不能給出想要的結果?

任何人都可以解釋為什么這個 Javascript 函數不能給出想要的結果?

HUWWW 2022-06-09 16:29:30
   function person1(name) {        var n = name;        return (function (n) {            alert(n);        })(n);    }    person1('susan')();    person1('peter')();第二個語句不能運行,任何人都可以給我一個正確的解釋。
查看完整描述

2 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

person1('susan')不返回函數,它返回undefined,所以你不能在之后調用它 -()腳本拋出的額外結果。


如果您想調用person1返回一個函數,該函數在調用時會提醒名稱,刪除n參數并返回一個提醒的函數name-但不要調用函數,只需調用return它,因此可以在外部調用返回的函數:


function person1(name) {

  return () => {

    console.log(name);

  };

}


person1('susan')();

person1('peter')();


查看完整回答
反對 回復 2022-06-09
?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

你的函數代碼基本上沒問題,但調用person1不行。您應該在調用后省略括號。因為您沒有從person1. 實際上你根本沒有返回值。


 function person1(name) {

    var n = name;

    return (function (n) {

        alert(n);

    })(n);

}


person1('susan');

person1('peter');


這可行,但可以簡化。


查看完整回答
反對 回復 2022-06-09
  • 2 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號