> нестрогость, позволяющая использовать необъявленные переменные и обращаться к необъявленным свойствам
Это всё-таки скриптовый язык, а при желании и на других языках можно такого нагородить, что никакие языковые проверки не помогут…
> отсутствие банального foreach() для массивов
for(var x in arr)alert(arr[x]);
> отсутсвие наследования объектов
Есть наследование, но не «классическое».
Это как? После склеивания это уже другой цельный файл. Как браузер может «вешать» картинку отдельно?
Это всё-таки скриптовый язык, а при желании и на других языках можно такого нагородить, что никакие языковые проверки не помогут…
> отсутствие банального foreach() для массивов
for(var x in arr)alert(arr[x]);
> отсутсвие наследования объектов
Есть наследование, но не «классическое».