জাভাস্ক্রিপ্ট পূর্বে সিঙ্গেল-থ্রেডেড ছিল। এটি ইভেন্ট লুপ ব্যবহার করে রান होता।
ইভেন্ট লুপের একটি সহজ কাজ আছে — কল স্ট্যাক এবং কলব্যাক কিউ মনিটর করা। যদি কল স্ট্যাক খালি থাকে, তবে কিউ থেকে প্রথম ইভেন্টটি নেওয়া হয় এবং কল স্ট্যাকে পুশ করা হয়, যা সেটিকে কার্যকর করে।
ব্রাউজারে জেএস ইভেন্ট লুপে মাল্টিথ্রেডিং সাপোর্ট করে না কারণ ৯৯.৯৯৯% ওয়েবসাইটের জন্য এটি প্রয়োজন নেই। ইভেন্ট লুপ সব কিছু सहজে হ্যান্ডেল করে।
বাকি অ্যাপ্লিকেশনগুলো জন্য ডেভেলপাররা ওয়েব ওয়ার্কার ব্যবহার করতে পারেন। ওয়েব ওয়ার্কার হলো ব্যাকগ্রাউন্ড থ্রেডে স্ক্রিপ্ট রান করার একটি সহজ উপায়। ওয়ার্কার থ্রেড ইউজার ইন্টারফেসে বাধা দিয়ে বিনা টাস্ক পারফর্ম করতে পারে। এছাড়া XMLHttpRequest ব্যবহার করে I/O করতে পারে (যদিও responseXML এবং channel অ্যাট্রিবিউট সবসময় null থাকে)। একবার তৈরি হলে, ওয়ার্কার জাভাস্ক্রিপ্ট কোড যা এটা তৈরি করেছে তার সাথে মেসেজ পাসিং করে যোগাযোগ করতে পারে।