學習筆記.JavaScript應用程式(三)

來源:互聯網
上載者:User

標籤:javascript   基礎   

1.函數傳值&探測對象

window.onload = initAll;/*function initAll(){    for(i=0;i<24;i++){        var newNum = Math.floor(Math.random()*75) + 1;        document.getElementById("square" + i).innerHTML = newNum;    }}*/function initAll(){    if(document.getElementById){     //通過此屬性檢測是否支援JavaScript        for(i=0;i<24;i++){            setSquare(i);        }    }    else{        alert("Sorry,your browser doesn‘t support this script.")    }}function setSquare(thisSquare){    var newNum = Math.floor(Math.random() * 75) +1;    document.getElementById("square" + thisSquare).innerHTML = newNum;}

2.處理數組

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);function initAll(){    if(document.getElementById){        for(i=0;i<24;i++){            setSquare(i);        }    }    else{        alert("Sorry,your browser doesn‘t support this scirpt.")    }}function setSquare(thisSquare){    var currSquare = "square" + thisSquare;    var newNum = Math.floor(Math.random() * 15) + 1 + colPlace[thisSquare] * 15;    document.getElementById(currSquare).innerHTML = newNum;}

數組定義的位置要麼是全域,要麼在setSquare()函數內。

3.do/while迴圈

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);var usedNums = new Array(76);function initAll(){    if(document.getElementById){        for(i=0;i<24;i++){            setSquare(i);        }    }    else{        alert("Sorry,your browser doesn‘t support this scirpt.")    }}function setSquare(thisSquare){    var currSquare = "square" + thisSquare;    var newNum;    do{        newNum = Math.floor(Math.random() * 15) + 1 + colPlace[thisSquare] * 15;    }while(usedNums[newNum]);    usedNums[newNum] = true;    document.getElementById(currSquare).innerHTML = newNum;}

注意迴圈條件usedNums[newNum]為假時結束迴圈。

4.使用javascript動態調整css。

function setSquare(thisSquare){    var currSquare = "square" + thisSquare;    var newNum;    do{        newNum = Math.floor(Math.random() * 15) + 1 + colPlace[thisSquare] * 15;    }while(usedNums[newNum]);    usedNums[newNum] = true;    document.getElementById(currSquare).innerHTML = newNum;    document.getElementById(currSquare).className = "";    document.getElementById(currSquare).onmousedown = toggleColor;}function anotherCard(){    for(i=1;i<usedNums.length;i++){        usedNums[i] = false;    }    newCard();    return false;}function toggleColor(evt){    if(evt){        var thisSquare = evt.target;        //alert(evt.target);   //返回object HTMLTableCellElement        //alert(evt.type);     //返回mousedown    }    else{        var thisSquare = window.event.srcElement;    }    if(thisSquare.className == ""){        thisSquare.className = "pickedBG";    }    else{        thisSquare.className = "";    }}

5.檢查狀態。

function checkWin(){    var winners = new Array(31,992,15360,507904,541729,557328,1083458,2162820,4329736,8519745,8659472,16252928);    var setSquares = 0;    var winnerOption = -1;    //alert(winners[-1]);    for(i=0;i<24;i++){        var currSquare = "square" + i;        if(document.getElementById(currSquare).className != ""){            document.getElementById(currSquare).className = "pickedBG";    //當閃爍的行被點擊取消一格後,使得本行剩餘的方格取消閃爍。            setSquares = setSquares | Math.pow(2,i);        //通過或運算選中點擊的方格,即24位二進位中把選中的位置置1。            //alert(setSquares);        }    }    for(i=0;i<winners.length;i++){        if((setSquares & winners[i]) == winners[i]){        //通過與運算匹配取勝的結果。            winnerOption = i;            //alert(winnerOption);        }    }    if(winnerOption>-1){        for(i=0;i<24;i++){            if(winners[winnerOption] & Math.pow(2,i)){        //通過與運算匹配選中的格子                currSquare = "square" + i;                document.getElementById(currSquare).className = "winningBG";            }        }    }}


本文出自 “技術無巔峰” 部落格,請務必保留此出處http://shelia.blog.51cto.com/2930476/1622364

學習筆記.JavaScript應用程式(三)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.