JavaScript使用if_else做出决定

例如:现在我们想判断张三的年龄能不能去网吧上网,我们可以用JavaScript这样实现

const age = 16;
if (age >= 18) {
  console.log("欢迎进入极速网吧上网");
} else {
  const yearsLeft = 18 - age;
  console.log(`${yearsLeft}年后,再来上网吧`);
}

JavaScript使用if_else做出决定_第1张图片

当我们把年龄改大之后

const age = 26;
if (age >= 18) {
  console.log("欢迎进入极速网吧上网");
} else {
  const yearsLeft = 18 - age;
  console.log(`${yearsLeft}年后,再来上网吧`);
}

JavaScript使用if_else做出决定_第2张图片

这样,我觉得你能够理解了,如果if中布尔值为true,那么直接if的{}代码块里面的内容,如果是false,就执行else {}代码块里面的内容;

所以基本的控制结构就是这样的

if(){

} else {
    
}

例如

const birthYear = 2012;

if (birthYear <= 2000) {
  let centruy = 20;
} else {
  let centruy = 21;
}

console.log(centruy);
这样的代码会直接报错;
JavaScript使用if_else做出决定_第3张图片

正确的应该改为这样

const birthYear = 2012;
let centruy = null;

if (birthYear <= 2000) {
  centruy = 20;
} else {
  centruy = 21;
}

console.log(centruy);
在 JavaScript 中,使用 let 声明的变量具有块级作用域,它们只在声明它们的代码块内可见。
在这段代码中, if 和 else 代码块内分别使用了 let centruy = 20; 和 let centruy = 21; 来声明 centruy 变量。这意味着每个代码块内的 centruy 变量都是独立的,并且在代码块外部是不可见的。
因此,当尝试在 console.log(centruy); 中使用 centruy 变量时,会导致报错,因为它在该位置是未定义的。
要解决这个问题,可以在 if 和 else 代码块之前声明 centruy 变量,并将其初始值设置为 null 或者一个默认值。然后,在 if 和 else 代码块内部,不使用 let 重新声明变量,而是直接给它赋值。这样,centruy 变量将在整个代码块中都可见。

挑战

使用挑战#1中的BMI示例和您已经编写的代码,并对其进行改进:

  1. 在控制台上打印出友好的输出信息,指出哪个人的BMI值更高。输出信息可以是“Mark’s BMI is higher than John’s!”或“John’s BMI is higher than Mark’s!”
  2. 使用模板文字将BMI值包含在输出中。例如:“马克的BMI (28.3)高于约翰的(23.9)!”
    提示:使用if/else语句。
const markWeight = 95;
const markHeight = 1.88;
const joneWeight = 85;
const joneHeight = 1.76;
const markBmi = markWeight / markHeight ** 2;
const joneBmi = joneWeight / joneHeight ** 2;
if (markBmi > joneBmi) {
  console.log(`马克的BMI(${markBmi})高于约翰的BMI(${joneBmi})`);
} else {
  console.log(`约翰的BMI(${joneBmi})高于马克的BMI(${markBmi})`);
}
 

你可能感兴趣的:(JavaScript,javascript)