[英]In JavaScript, how can I pass value from unnamed function to another unnamed function?
[英]How can I convert an unnamed function to a named one?
我做了下面的功能。 基本上,如果一個玩家輸入 /port 和另一個玩家的名字,我相信這個函數會返回 true。
mp.players.forEach(_player => {
if(_player.name === name)
return true;
});
我想命名上面的函數,以便我可以執行以下操作:
if (functionName) [code]
那么,我該如何命名上面的函數呢? 或者有沒有其他方法可以檢查它是否正確。 我試圖在下面的 try...catch 語句中列出它:
try {
if (player.adminLevel < 8) throw "Error 1";
if (!targetPlayer) throw "Error 2";
if (player.adminLevel <= targetAdminLevel) throw "Error 3";
//AND THE NEW ONE HERE
if (functionName) throw "Error 4";
}
只需將其編寫為普通函數,然后傳遞函數名稱而不是 lambda 表達式。
function myFunction(player) {
if(_player.name === name)
return true;
}
mp.players.forEach(myFunction);
現在你可以在別處使用myFunction
的名字......不需要“轉換”。
您尚未創建任何函數。 forEach是您為數組調用的 Array 原型的命名函數。 您可以直接在 try 塊中編寫forEach邏輯,也可以聲明一個命名函數並使用它,如下所示:
function functionName(players, name){
return players.some(_player => _player.name === name);
};
try {
if (player.adminLevel < 8) throw "Error 1";
if (!targetPlayer) throw "Error 2";
if (player.adminLevel <= targetAdminLevel) throw "Error 3";
//AND THE NEW ONE HERE
if (functionName(mp.players, player.name)) throw "Error 4";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.