Edit in JSFiddle

// JavaScript: Quicksort
function quicksort(x, first, last) {
  debugger; // Set breakpoint

  var pivot, j, temp, i;

  if (first < last) {
    pivot = first;
    i = first;
    j = last;

    while (i < j) {
      while (x[i] <= x[pivot] && i < last)
        i++;
      while (x[j] > x[pivot])
        j--;
      if (i < j) {
        temp = x[i];
        x[i] = x[j];
        x[j] = temp;
      }
    }

    temp = x[pivot];
    x[pivot] = x[j];
    x[j] = temp;
    quicksort(x, first, j - 1);
    quicksort(x, j + 1, last);

  }
  return x;
}

// Test
var test = [2, 5, 3, 4, 1, 6, 9, 7, 8];
alert(quicksort(test, 0, (test.length - 1)));