Когда Нил рассказывает про то, как нужно поступить, если вас похитили инопланетяне он достает iPhone и отчетливо произносит название этого устройства, переводчик, недолго думая заменяет iPhone андроидом. Мне стало интересно с какой целью?
Браузеры ведут себя по-разному в таких ситуациях, если открыть такой код через web inspector в хроме, то можно увидеть, что замыкание может и не сохранять те элементы, которые оно не использует, т.е. если внутри onclick колбэка не будет обращения к element, то замыкание не сохранит ссылку на него в разделе Scope variables это можно увидеть
В дефолтный плейлист треки не добавляются, хотя пишет, что добавилось и почему в плэйлист можно добавлять только по одному треку, а опции добавить весь альбом нет?
Сервис от яндекса работает также через jsonp, достаточно было посмотреть в консоль, чтобы увидеть как обрабатываются запросы. Также есть возможность переводить большие объемы текста с с помощью нескольких запросов – github.com/itrelease/yaTranslate
Есть отличная штука, которая помогает отловить неопознанные глобальные переменные – detect-global, но она не сгодится для server-side в текущей реализации.
Этот мой комментарий, как вы указали, показывает как работает hoisting. Если вы будете более внимательны вы увидите разницу. Function Expression != Function Declaration и в своем ответе я вам как бы намекаю на эту разницу.
Child.prototype.method = function(){
Parent.prototype.method.apply(this, arguments);
};
и нечего выдумывать все наглядно и понятно
function b(){
function a(){}
a = 10;
return;
}
Притом FD всплывают раньше чем перменные объявленные с помощью var т.е.
function b(){
var a = 1;
function a(){}
alert(a);
}
b() // 1