前面的html css**類似,以下是修改js**
指令碼3-6 這個指令碼限制了每一列中值的範圍
window.onload = initall;
function initall()
} else
} function setsquare(thissquare)
解 釋
1. var colplace = new array(0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4);
我們希望限制哪些隨機數可以放在哪一列中。最簡單的方法是給每一列分配乙個編號(b:0,i:
1,n:2,g:3,o:4),然後用以下表示式計算可以放進每一列中的數字:(列號×15)+(1~15
的隨機數)。
要用colplace陣列記錄每個格仔所屬的列。它包含0~4的數字並重複五次(要減去空的格仔。
請注意,數字2僅用了4次)。
2. var colbasis = colplace[thissquare] * 15;
var newnum = colbasis + math.floor(math.random() * 15) + 1;
我們首先計算列號:儲存在colplace[thissquare]中的數字乘以15。newnum變數仍然生成隨機數,
但不是1~75的數字,而是計算乙個1~15的隨機數,然後加上列號。因此,如果隨機數是7,那麼
它在b列中是7,在i列中是22,在n列中是37,在g列中是52,在o列中是67。
效果圖跟上篇文章一樣,只是用到了陣列
下面是使用do/while更新陣列
指令碼3-9 這個指令碼防止給定的列中出現重複的數字
window.onload = initall;
var usednums = new array(76);
function initall()
} else
} function setsquare(thissquare)
while (usednums[newnum]);
usednums[newnum] = true;
document.getelementbyid(currsquare). innerhtml = newnum;
} function getnewnum()
解釋一下
1. var newnum;
在前面的示例中,我們在建立newnum變數時對它進行初始化。因為我們將多次設定它,所以在進
入迴圈之前建立它,這樣只需建立一次。
2. do
右花括號標出do塊的結尾。
5. while (usednums[newnum]);
while檢查會使do**塊反覆執行,直到檢查結果為false為止。在這個示例中,我們檢查usednums
陣列中newnum位置上的值,從而檢查newnum是否已經使用過了。如果這個數字已經用過了,控制就
被傳遞歸do塊的開頭,整個過程再次重複。最終,我們會找到乙個沒有使用過的數字。在此之後,
就會離開迴圈,將usednums設定為true,並將newnum寫到卡片上。
javascript中處理時間
var mydate new date mydate.getyear 獲取當前年份 2007 mydate.getfullyear 獲取完整的年份 2007 mydate.getmonth 獲取當前月份 0 11,0代表1月 11 mydate.getdate 獲取當前日 1 31 20 mydat...
javascript中處理時間
var mydate new date mydate.getyear 獲取當前年份 2007 mydate.getfullyear 獲取完整的年份 2007 mydate.getmonth 獲取當前月份 0 11,0代表1月 11 mydate.getdate 獲取當前日 1 31 20 mydat...
JavaScript中的陣列
陣列 引數 返回值原陣列是否改變 1 向陣列尾部新增push 引數可以是乙個或多個 返回值是新增後陣列的長度 原陣列改變 2 刪除陣列的最後一項pop 沒有引數 返回值是刪除的那個數 原陣列改變 3 向陣列的頭部新增unshift 引數可以是乙個或多個 返回值是新增後陣列的長度 原陣列改變 4 刪除...