Некоторое время назад я поставил вопрос о what questions should a good javascript coder be able to answer. Meder указал на следующий вопрос:Как скопировать значение ссылки в javascript?
Следующий код делает клики по любому элементу «a» для предупреждения (-1) из-за того, что «i» удерживается в функции onclick как ссылка, а не как значение :
<a href="#">text</a><br><a href="#">link</a>
<script>
var as = document.getElementsByTagName('a');
for (var i = as.length; i--;) {
as[i].onclick = function() {
alert(i);
return false;
}
}
</script>
вопрос: Как исправить эту реализацию так, что OnClick функция имеет значение г и не это ссылка?
Я не знаю ответа. Как это исправить? Как заставить i быть копией ссылочного значения, а не фактической ссылкой?
Боковые вопросы: все переменные типы переданы в качестве ссылки? Или это зависит от того, является ли это типом примитива или объектом?
Любые мысли будут оценены.
Это один из наиболее часто задаваемых вопросов, проверьте мой ответ и комментарий в этом вопросе: http://stackoverflow.com/questions/1804438/#1804452 – CMS