Home  >  Q&A  >  body text

javascript - 为什么会报错说Uncaught TypeError: volumeStatus is not a function

function volumeStatus() {
  if(video.muted) {
    volumeStatus = false;
    return volumeStatus
  } else {
    volumeStatus = true;
    return volumeStatus
  }
     
   function volumeChangeStatus() {
    volumeStatus();
    volumeStatus = volumeStatus().volumeStatus;
    if(!volumeStatus) {
      video.muted = false;
      volumeChangeUI(volumeStatus);
    } else {
        video.muted = true;
        volumeChangeUI(volumeStatus);
      }

 }   
PHPzPHPz2771 days ago838

reply all(3)I'll reply

  • PHPz

    PHPz2017-04-11 11:46:31

    在你volumeChangeStatus第一行调用volumeStatus之后,volumeStatus就已经不再是一个function了,所以你第二行会报错。

    所以,请注意变量名!

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 11:46:31

    楼上说的对,当执行了第一行调用之后,在volumeStatus方法内部已经将它编程bool值了,所以后边就报错了。孩子,你这么写代码会被打死的,少声明变量不等于乱写呀。。。

    reply
    0
  • 迷茫

    迷茫2017-04-11 11:46:31

    为什么要把函数名和变量名定义成一样的呢

    reply
    0
  • Cancelreply