Java脚本将带有参数的函数传递给另一个函数

时间:2019-06-26 12:13:17

标签: javascript function parameter-passing

嗨,我想将函数传递给另一个函数,但又不影响代码中的中间函数

checkUserAndStart(startFunction)-我想在许多地方重用此功能(以检查登录的用户-是否已登录启动功能,但并不总是带有参数)

  function startInTorry(email,displayName){         
      $('#footer-email').html(email);
      $('#InTorryUserName').html(displayName);        
  }

  function checkUserAndStart(startFunction) {
      firebase.auth().onAuthStateChanged(function (user) {
        if (user) {
          //user.email,user.displayName is from here
          startFunction();
        } else {
          window.location = 'login.html'
        }
      })
    }

  $(document).ready(function () {       
    checkUserAndStart(function(){startInTorry(user.email,user.displayName)})
  })

1 个答案:

答案 0 :(得分:1)

传递不带参数的函数。然后,当您调用时,将使用参数对其进行调用。

function startInTorry(email,displayName){         
      $('#footer-email').html(email);
      $('#InTorryUserName').html(displayName);        
}

function checkUserAndStart(startFunction) {
  firebase.auth().onAuthStateChanged(function (user) {
    if (user) {
      startFunction(user.email, user.displayName);
    } else {
      window.location = 'login.html'
    }
  })
}

$(document).ready(function () {
  checkUserAndStart(startInTorry);
})