(继续,中断) (相等运算符,不等式运算符)在这个Javascript示例中?



我想知道这个例子中的(!==(和(===(有什么区别,中断和继续有什么区别??! 在这个例子中,我认为它只会打印出字符串,但它打印出除字符串之外的所有数据类型。 我知道(!==和===(的用法,但在这个例子中,这对我来说似乎很奇怪。 请解释在此示例中(!== 和 ===( 的使用(继续和中断(。

var array = [1, 2, "hello", true];

for(let i = 0; i < array.length; i++) {
if(typeof array[i] === "string") continue;
console.log(array[i]);
};

在您给出的示例中,如果 typeof 元素是 String,它不会在循环中执行其余语句,而是继续下一次迭代。如果有中断,它将脱离循环并且不执行任何进一步的迭代。

continue关键字使循环向前移动到下一个迭代,而不执行其后面的循环体中的任何语句。

===用于严格的相等比较,即仅当两个值属于相同类型且具有相同值时才被视为相同(不进行类型强制(。

您显示的代码正在检查每个索引处的数组元素是否为字符串,如果是,则它将继续进行循环的下一次迭代而不打印它。

代码可以重写如下:

for(let i = 0; i < array.length; i++) {
if(typeof array[i] !== "string") console.log(array[i]);
};

在您的示例中,如果类型等于字符串,它将继续执行到下一次迭代。 但是数组只有一个字符串类型的元素,因此它会打印其他 3 个元素。

  1. 等于运算符 (===( 是一个严格的比较运算符。它检查/比较数据类型与其内容。
  2. 不是 (!( - 它只是反转操作,在您的情况下,它会检查不等于 (!==(
  3. 继续 - 继续关键字将通过跳过其下面的任何代码行将带您进入下一次迭代。
  4. 休息 - 休息关键字将通过跳过任何进一步的迭代来带您走出循环。

最新更新