Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将switch语句放入javascript代码中?_Javascript_Jquery - Fatal编程技术网

如何将switch语句放入javascript代码中?

如何将switch语句放入javascript代码中?,javascript,jquery,Javascript,Jquery,我正忙着制作一个漂亮的工具,用来测量点击时的心跳,然后点击后,它会告诉你终端用户的平均心率 它工作正常,当10次点击结束时,它将考虑我的数组并计算一个平均值和警报();具有平均值的用户 我现在想做的不是用平均心率提醒终端用户,而是用诊断提醒他们。因此,当平均值等于59以下的值时,它应该发出警报(“你的心脏是有效的和合适的”);如果超过100,则应保持警惕(“你的心脏无效…”);你明白了 我的问题:我似乎无法确定将switch语句放在何处,因为错误会告诉我:找不到变量(我想在switch语句中使用

我正忙着制作一个漂亮的工具,用来测量点击时的心跳,然后点击后,它会告诉你终端用户的平均心率

它工作正常,当10次点击结束时,它将考虑我的数组并计算一个平均值和警报();具有平均值的用户

我现在想做的不是用平均心率提醒终端用户,而是用诊断提醒他们。因此,当平均值等于59以下的值时,它应该发出警报(“你的心脏是有效的和合适的”);如果超过100,则应保持警惕(“你的心脏无效…”);你明白了

我的问题:我似乎无法确定将switch语句放在何处,因为错误会告诉我:找不到变量(我想在switch语句中使用),或者当我将switch语句放在其他地方时,它会用默认情况提醒用户

我是否应该使用

av=平均值/=计数

我的switch语句?我想让它做的就是,根据案例发出警报,所有警报都基于平均值。

我的代码

 <script>
  var lastTapSeconds = 0;
  var bpm = 0;

  //extra variabelen voor functionaliteit uitbreiding.
  var beats = [];
  var average = 0;
  var count = 0;

  var tapDiv = document.getElementById("tapDiv");

  $(tapDiv).on('click', function() {
    var tapSeconds = new Date().getTime();

    bpm = ((1 / ((tapSeconds - lastTapSeconds) / 1000)) * 60);
    lastTapSeconds = tapSeconds;
    tapDiv.innerHTML = '<h1 style="display:inline;">' + Math.floor(bpm) + '</h1><img style="height:256px;width:256px;" src="img/heart.png"/>';

  //extra functionaliteit
  beats.push(Math.floor(bpm));
  average *= count;  //average = average * count
  average += Math.floor(bpm);  //average = average + count
  count++;
  average /= count;  //average = average / counterIncrement


  //als array entries 10 heeft bereikt geef prompt met gemiddelde bpm.
  if(beats.length >= 10) {
  //alert("Your Average Beats Per Minute: " + average);


  var av = average /= count;


  switch(av) {

    case (average>60 && avarage<100):
    alert("From the measurements, we conclude that you have a normal resting heart rate.");
    break;


    case (average<59):
    alert("From the measurements, we conclude that you have an efficient heart function and better cardiovascular fitness.");
    break;

    case (average>100):
    alert("From the measurements, we conclude that your resting heart has an high average, we might be stated as unefficient and not fit.");
    break;

    default:
    alert("Please measure again, your measurements seem unregular.");
    break;

  }
  var bpm = 0;
  var average = 0;
}
});
无开关语句的正常工作代码:

<script>
  var lastTapSeconds = 0;
  var bpm = 0;

  //extra variabelen voor functionaliteit uitbreiding.
  var beats = [];
  var average = 0;
  var count = 0;

  var tapDiv = document.getElementById("tapDiv");

  $(tapDiv).on('click', function() {
    var tapSeconds = new Date().getTime();

    bpm = ((1 / ((tapSeconds - lastTapSeconds) / 1000)) * 60);
    lastTapSeconds = tapSeconds;
    tapDiv.innerHTML = '<h1 style="display:inline;">' + Math.floor(bpm) + '</h1><img style="height:256px;width:256px;" src="img/heart.png"/>';

    //extra functionaliteit
    beats.push(Math.floor(bpm));
    average *= count;  //average = average * count
    average += Math.floor(bpm);  //average = average + count
    count++;
    average /= count;  //average = average / counterIncrement


    //als array entries 10 heeft bereikt geef prompt met gemiddelde bpm.
    if(beats.length >= 10) {
      alert("Your Average Beats Per Minute: " + average);
    }
  });
</script>

var lastTapSeconds=0;
var-bpm=0;
//额外的变量或功能。
var=[];
var平均值=0;
var计数=0;
var tapDiv=document.getElementById(“tapDiv”);
$(tapDiv).on('click',function(){
var tapSeconds=new Date().getTime();
bpm=((1/((点击秒数-最后点击秒数)/1000))*60);
lastTapSeconds=tapSeconds;
tapDiv.innerHTML=''+数学地板(bpm)+'';
//额外功能
拍、推(数学地板(bpm));
平均数*=计数;//平均数=平均数*计数
平均值+=数学地板(bpm);//平均值=平均值+计数
计数++;
平均值/=计数;//平均值=平均值/反增量
//als数组条目10 heeft bereikt geef提示符合gemiddelde bpm。
如果(拍长>=10){
警惕(“你每分钟的平均节拍:+平均值”);
}
});
更新后的代码

 <script>
  var lastTapSeconds = 0;
  var bpm = 0;

  //extra variabelen voor functionaliteit uitbreiding.
  var beats = [];
  var average = 0;
  var count = 0;

  var tapDiv = document.getElementById("tapDiv");

  $(tapDiv).on('click', function() {
    var tapSeconds = new Date().getTime();

    bpm = ((1 / ((tapSeconds - lastTapSeconds) / 1000)) * 60);
    lastTapSeconds = tapSeconds;
    tapDiv.innerHTML = '<h1 style="display:inline;">' + Math.floor(bpm) + '</h1><img style="height:256px;width:256px;" src="img/heart.png"/>';

  //extra functionaliteit
  beats.push(Math.floor(bpm));
  average *= count;  //average = average * count
  average += Math.floor(bpm);  //average = average + count
  count++;
  average /= count;  //average = average / counterIncrement


  //als array entries 10 heeft bereikt geef prompt met gemiddelde bpm.
  if(beats.length >= 10) {
  //alert("Your Average Beats Per Minute: " + average);


  var av = average /= count;


  switch(av) {

    case (average>60 && avarage<100):
    alert("From the measurements, we conclude that you have a normal resting heart rate.");
    break;


    case (average<59):
    alert("From the measurements, we conclude that you have an efficient heart function and better cardiovascular fitness.");
    break;

    case (average>100):
    alert("From the measurements, we conclude that your resting heart has an high average, we might be stated as unefficient and not fit.");
    break;

    default:
    alert("Please measure again, your measurements seem unregular.");
    break;

  }
  var bpm = 0;
  var average = 0;
}
});

var lastTapSeconds=0;
var-bpm=0;
//额外的变量或功能。
var=[];
var平均值=0;
var计数=0;
var tapDiv=document.getElementById(“tapDiv”);
$(tapDiv).on('click',function(){
var tapSeconds=new Date().getTime();
bpm=((1/((点击秒数-最后点击秒数)/1000))*60);
lastTapSeconds=tapSeconds;
tapDiv.innerHTML=''+数学地板(bpm)+'';
//额外功能
拍、推(数学地板(bpm));
平均数*=计数;//平均数=平均数*计数
平均值+=数学地板(bpm);//平均值=平均值+计数
计数++;
平均值/=计数;//平均值=平均值/反增量
//als数组条目10 heeft bereikt geef提示符合gemiddelde bpm。
如果(拍长>=10){
//警惕(“你每分钟的平均节拍:+平均值”);
var av=平均值/=计数;
开关(av){

case(average>60&&average您的开关是错误的。您应该在使用开关时读取。每个case:part应该有一个变量av的可能值。而不是一个条件值。例如,在您的情况下,av被检查(average>60&&average<100)因此,除非av本身为真或假,否则您的切换没有意义


您应该使用常规的if语句来解决此问题。这不能用开关来完成。

最好使用多个
if-else
语句:

if ( average > 60 && average < 100 )
    alert( "From the measurements, we conclude that you have a normal resting heart rate." );
else if ( average < 59 )
    alert( "From the measurements, we conclude that you have an efficient heart function and better cardiovascular fitness." );
else if ( average > 100 )
    alert( "From the measurements, we conclude that your resting heart has an high average, we might be stated as unefficient and not fit." );
else
    alert( "Please measure again, your measurements seem unregular." );
if(平均值>60&&average<100)
警惕(“通过测量,我们得出结论,您的静息心率正常。”);
否则,如果(平均值<59)
警惕(“通过测量,我们得出结论,您的心脏功能和心血管健康状况良好。”);
否则,如果(平均值>100)
警惕(“根据测量结果,我们得出结论,您的静息心脏平均值较高,我们可能会被认为是无效和不合适的。”);
其他的
警惕(“请重新测量,您的测量结果似乎不规则。”);

代码中的问题是
case
中的值是在运行时计算出来的,并且变得相等
true
false
。因此每次
default
部分都应该执行

尝试使用“if”而不是“switch”
switch(av){case>(average>60&&avaragevery low content,有很多错误,如@CraicerJack所说,按顺序检查边界是正常的,所以你不需要在第一个语句中检查两个边界条件。此外,根据所写的条件,你错过了范围[59,60]。哇,我有多愚蠢……非常感谢,我真的学到了:)