Я немного не понимаю смысл понятия «контекстно зависимый язык». Является ли javascript контекстно зависимым из-за того, что значение this определяется в момент исполнения кода? т. е.
function foo(){
this.x = 1
}
var a = {}
a.f = foo
a.f()
// a.x == 1