用于循环和分配运算符JavaScript的A分配变量的不同值



我是编码和JavaScript的新手,但找不到精确回答此问题的帖子。

以下JS代码是评估给定数字的阶乘,我不知道它在" num"分配方面起作用。

num被用作参数,分配给新变量" i",并且在分配运算符中使用num = num = num * i或num * = i。结果,nuM在for循环和分配运算符中变化,但它们会随两个自变量而变化。为什么?他们不是指出同一件事,num吗?换句话说,在评估num *= i为6之后,for循环中的下一步不会成为i = 6-1?我觉得我缺少一些明显的东西...

 function factorialize(num) {
  if (num == 0 || num == 1) {
    return 1;
  }
  for (var i = num -1; i >= 1; --i){
    console.log(i);
    console.log(num);
    num = num * i;
    console.log(i);
    console.log(num);
  }
  return num;
}
factorialize(3);

控制台输出:23

26

16

16

这两个与对象相对于对象,循环的范围或范围?

有什么关系。

他们不是指同一件事,num?

否。num不是可以指向的东西,它是一个变量 - 就像i一样。numi都保持数字。他们彼此独立。

这有两个方面对分配原始值与对象有什么关系?

是。物体将是(可变的!(您可以指向的东西。但是,当分配变量时 - 无论该值是对象还是原始值,只有该变量会更改。

最新更新