下面還有一種方法解決這個問題,而且不用創建一個空的頁面。
修改iframe的src屬性:
var iframe=document.createElement("<iframe src='javascript:\"\"'>");
運行效果一樣。
但在這里我發現有一個有趣的現象。修改代碼如下:
var iframe=document.createElement("<iframe src='javascrip:'>");
運行后發現,在firefox下,當運行到上面語句的時候,firefox將會兩次彈出錯誤控制臺。很奇怪啊!!!
我們也可以增加form的onsubmit事件來阻止表單自動提交。
<html>
<head>
<title>test</title>
<script language="javascript">
function test(){
document.testForm.submit();
}
</script>
</head>
<body>
<form name="testForm" method="post" action="test.htm" onsubmit="return false;">
<input type='button' value='test' onclick="javascript:test()">
<input type="text" name="textfield" class="input">
</form>
</body>
</html>
其實你的問題,與線程是沒有關系的。只不過在刪除的時候需要去檢查下需要刪除的對象是否在數組中存在。
但這里有個問題:
當兩個線程A和B同時訪問此函數的時候,假設theList.site()為5.優先級高的線程A首先訪問訪問此函數.線程A刪除了一個元素,假設當前索引為2.線程B開始訪問此函數,而開始刪除索引為2的元素.由于索引2的元素已經被線程A刪除了,所以線程B開始訪問的刪除的時候,會拋出空指針的異常.