前段時間我發佈了一個關於what questions should a good javascript coder be able to answer的問題。 Meder指出以下問題:如何在JavaScript中複製參考值?
由於「i」在onclick函數中作爲參考而不是作爲參考值存在,因此以下代碼會將任何「a」元素點擊爲alert(-1) :
<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 2009-12-04 01:24:06