如何将局部变量中的 JavaScript 一个函数调用到另一个函数

how to call a JavaScript one function in local variable to other function

我是 javascript 的初学者。 fatch api q=${searchquery} 中不打印局部变量 let searchquery = e.target.querySelector('input').value; 值,打印全局变量值 let searchquery='';

我的输出是pizza {q: "", from: 0, to: 20, more: false, count: 0, …}

let searchquery='';    
searchform.addEventListener('submit', (e) => {
e.preventDefault();
let searchquery = e.target.querySelector('input').value;
console.log(searchquery);
fetchAPI(); });

async function fetchAPI() {
const baseurl = `https://api.edamam.com/search?q=${searchquery}&app_id=${app_id}&app_key=${app_key}&to=20`;

您正在创建 searchquery 变量两次。 addEventListener 的匿名函数一外一内。由于这个变量范围越来越小,它不会在 fetchAPI 方法中可用。

你应该这样使用它 -

let searchquery = '';
searchform.addEventListener('submit', (e) => {
  e.preventDefault();
  searchquery = e.target.querySelector('input').value;
  console.log(searchquery);
  fetchAPI(searchquery);
});

async function fetchAPI(searchquery) {
  const baseurl = `https://api.edamam.com/search?q=${searchquery}&app_id=${app_id}&app_key=${app_key}&to=20`;
}

如果您需要在提交处理程序中创建另一个变量,则在调用此方法时将此变量作为参数传递给 fetchAPI

let searchquery = '';
searchform.addEventListener('submit', (e) => {
  e.preventDefault();
  let searchquery = e.target.querySelector('input').value;
  console.log(searchquery);
  fetchAPI(searchquery);
});

async function fetchAPI(searchquery) {
  const baseurl = `https://api.edamam.com/search?q=${searchquery}&app_id=${app_id}&app_key=${app_key}&to=20`;
}