Javascript 这里可以消除变量吗?

Javascript 这里可以消除变量吗?,javascript,Javascript,在nczonline的这个函数中,我注意到左和右被复制到I和j,但此后就不再使用了。有没有办法消除左和右或i和j function partition(items, left, right) { var pivot = items[Math.floor((right + left) / 2)], i = left, j = right; while (i <= j) { while (items[i

在nczonline的这个函数中,我注意到左和右被复制到I和j,但此后就不再使用了。有没有办法消除左和右或i和j

function partition(items, left, right) {
    var pivot   = items[Math.floor((right + left) / 2)],
        i       = left,
        j       = right;
    while (i <= j) {
        while (items[i] < pivot) {
            i++;
        }
        while (items[j] > pivot) {
            j--;
        }
        if (i <= j) {
            swap(items, i, j);
            i++;
            j--;
        }
    }
    return i;
}
功能分区(项目,左,右){
var pivot=项目[数学楼层((右+左)/2)],
i=左,
j=右;
而(我){
j--;
}

如果(i它只是在那里,因此在函数的其余部分重复使用时,它会更短


直接使用
i
j
作为参数名称不够描述性,因此他将它们分配给函数体中较短的变量。

是的,您可以将
i
的所有实例替换为
left
,将
j
的所有实例替换为
right


但是为什么要这样做呢?

这看起来像是快速排序的一部分?或者只是用i和j替换函数参数。是的,你可以这样做,但那样会减少函数签名descriptive@Chronial这就是文档的目的。@JosephSilber i和j的描述性与left和right差不多。作者使用了两个变量es b.c.他在写一篇教程,你永远不会在真实的生产代码中这样做。@employee-0-正确的答案是:是的。正确的答案是:为什么会这样?变量是内存中真实的位置,你可以作为资源使用,它们不是用来描述的。永远不要获取超过你需要的,从那里你可以进行描述或通信把密码给我。