Is JavaScript Synchronous or Asynchronous?