JavaScript中的函数调用

JavaScript中的函数调用,javascript,html,Javascript,Html,在我的recorder.js脚本中,我使用一个HTML按钮运行一个名为start\u KEMT的函数 var记录=false; var button=document.getElementById('button'); 函数启动\u KEMT(){ 如果(!录制) { init(); 切换录制(按钮); } 切换录制(按钮); 录音=!录音; } 功能切换录制(按钮){ var run=parseInt(button.getAttribute('data-run')); 如果(运行===1){

在我的
recorder.js
脚本中,我使用一个HTML
按钮运行一个名为
start\u KEMT
的函数

var记录=false;
var button=document.getElementById('button');
函数启动\u KEMT(){
如果(!录制)
{
init();
切换录制(按钮);
}
切换录制(按钮);
录音=!录音;
}
功能切换录制(按钮){
var run=parseInt(button.getAttribute('data-run'));
如果(运行===1){
记录器(&R)记录器停止();
记录器和记录器.exportWAV(函数(blob){
上传音频从blob(blob);
});
__日志(“记录已停止”);
setAttribute('data-run',0);
} 
记录器&recorder.clear();
记录器&recorder.record();
__日志(“说话”);
setAttribute('data-run',1);
}
}
..

记录器.js
中,将函数签名从
start\u KEMT()
更改为
start\u KEMT(**按钮**)
。这将解决您的问题,因为它(即按钮变量)现在还没有定义。

您正在传递HTML中的
按钮
点击
start\u KEMT(this)
<代码>此
是按钮元素。但是您没有在函数中定义它

将您的功能
start\u KEMT
更改为

function start_KEMT(button) {
   if(!recording)
   {
      init();
      toggleRecording(button);
  }
  toggleRecording(button);
  recording = !recording;
}

将参数传递给
start_KEMT(按钮)
而不是
start_KEMT()
。函数start_KEMT(按钮){if(!recording){init();toggleRecording(按钮);}toggleRecording(按钮);recording=!recording;}