$(function () {
test={prop: 'sometext'};//Создаем объект со свойством prop
test_link=test; //Создаем еще одну ссылку на этот объект
delete test; //Удаляем
alert(test_link.prop); //результат - sometext
});
Почему в итоге выводится значение "sometext", если объект test был удалён, и строке "test_link" ссылаться не к чему?
Оператор delete существует для удаления свойств объекта; ваш пример работает только потому что вы не используете ключевые слова (var, let) для объявления переменной test, и поэтому она становится свойством объекта window.
"delete удаляет переменную" - это конечно не правда, delete не удаляет переменные, разве что под переменными вы подразумеваете такие случаи: переменные объявленные без ключевых слов, то есть свойства window.