Searching Algorithms (linear search, binary search)

What unique aspect distinguishes this search algorithm?
function fibonacciSearch(arr, target) {
  let fib2 = 0;
  let fib1 = 1;
  let fib = fib2 + fib1;
  
  while(fib < arr.length) {
    fib2 = fib1;
    fib1 = fib;
    fib = fib2 + fib1;
  }
  
  let offset = -1;
  while(fib > 1) {
    const i = Math.min(offset + fib2, arr.length - 1);
    if(arr[i] < target) {
      fib = fib1;
      fib1 = fib2;
      fib2 = fib - fib1;
      offset = i;
    }
    else if(arr[i] > target) {
      fib = fib2;
      fib1 = fib1 - fib2;
      fib2 = fib - fib1;
    }
    else return i;
  }
  return -1;
}
Next Question (14/24)