我是编码和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
一样。num
和i
都保持数字。他们彼此独立。
这有两个方面对分配原始值与对象有什么关系?
是。物体将是(可变的!(您可以指向的东西。但是,当分配变量时 - 无论该值是对象还是原始值,只有该变量会更改。