Det finns många saker som JavaScript kan användas för att förbättra dina webbsidor och förbättra dina besökares upplevelse med din webbplats, men det finns också några saker som JavaScript inte kan göra. Vissa av dessa begränsningar beror på att skriptet körs i webbläsarfönstret och därför inte kan komma åt servern medan andra är ett resultat av säkerhet som finns för att hindra webbsidor från att kunna manipulera med din dator. Det finns inget sätt att lösa dessa begränsningar och någon som påstår sig kunna utföra någon av följande uppgifter med JavaScript har inte beaktat alla aspekter av vad det än är som de försöker göra.
Med hjälp av Ajax kan JavaScript skicka en begäran till servern. Denna begäran kan läsa en fil i XML- eller vanlig textformat men den kan inte skriva till en fil såvida inte den fil som anropas på servern verkligen fungerar som ett skript för att göra filskrivningen för dig.
JavaScript har inte åtkomst till databaser såvida du inte använder Ajax och har ett skript på serversidan för att utföra databasåtkomst för dig.
Även om JavaScript körs på klientdatorn (den där webbsidan visas) är det inte tillåtet att komma åt något utanför själva webbsidan. Detta görs av säkerhetsskäl, eftersom en webbsida annars skulle kunna uppdatera din dator för att installera vem som vet vad. Det enda undantaget från detta är filer som heter småkakor som är små textfiler som JavaScript kan skriva till och läsa från. Webbläsaren begränsar åtkomst till kakor så att en given webbsida bara kan komma åt cookies skapade av samma webbplats.
JavaScript kan inte stänga ett fönster om det inte öppnade det. Återigen är detta av säkerhetsskäl.
Trots att webbsidor från olika domäner kan visas samtidigt, antingen i separata webbläsarfönster eller i separata ramar inom samma webbläsarfönster, kan JavaScript som körs på en webbsida som tillhör en domän inte få tillgång till information om en webbsida från en annan domän. Detta hjälper till att säkerställa att privat information om dig som kan vara känd för ägarna av en domän inte delas med andra domäner vars webbsidor du kan ha öppet samtidigt. Det enda sättet att få åtkomst till filer från en annan domän är att ringa ett Ajax-samtal till din server och ha ett server-skript åtkomst till den andra domänen.
Alla bilder på din webbsida laddas ner separat till datorn som visar webbsidan så att personen som tittar på sidan redan har en kopia av alla bilderna när den tittar på sidan. Detsamma gäller för den faktiska HTML-källan på webbsidan. Webbsidan måste kunna dekryptera alla webbsidor som är krypterade för att kunna visa den. Även om en krypterad webbsida kan kräva JavaScript för att aktiveras för att sidan ska kunna dekrypteras för att den ska kunna visas av webbläsaren, så när sidan har dekrypterats någon som vet hur man enkelt kan spara den dekrypterade kopian av sidkällan.