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

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

“TypeError: x is not a function” 即使代碼有效

“TypeError: x is not a function” 即使代碼有效

HUX布斯 2023-03-24 15:19:09
我在我的項目中的一個函數中遇到了上述錯誤,并將代碼簡化為以下內容。控制臺成功記錄了正確的結果,但仍然出現覆蓋和錯誤。有什么辦法可以阻止這種情況發生嗎?當它仍然正確運行時拋出錯誤似乎很奇怪。func1 = (x,y) => {  let result=(x+y)  console.log(result)}func2 = x => {  x()   // <= TypeError pointing to this not being a function}func2(func1(1,4)) // returns 5 but still getting TypeError
查看完整描述

2 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

func2接受一個函數作為參數,但你將它func1(1,4)作為參數傳遞,它的計算結果為undefined(因為func1不返回任何東西)。


傳遞一個使用 所需參數調用的函數func,如果這是你想要做的:


const func1 = (x, y) => {

  const result = x + y;

  console.log(result);

}


const func2 = x => {

  x();

};



func2(() => func1(1, 4));

或者,如果您想獲得更多功能,您甚至可以執行以下操作:


const func1 = x => y => x + y;


const func2 = x => x;


console.log(func2(func1)(1)(4));


查看完整回答
反對 回復 2023-03-24
?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

您已經將函數作為參數發送。傳入的屬性已經是一個函數。您無需再次鍵入“()”。


const func1 = (x, y) => {

const result = x + y;

console.log(result);

}


const func2 = x => {

  x;

};


func2(func1(1, 4));


查看完整回答
反對 回復 2023-03-24
  • 2 回答
  • 0 關注
  • 298 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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