2018-12-02

數(shù)組
<script type="text/javascript">
    //面向?qū)ο蟮姆绞絼?chuàng)建
    var aRr01 = new Array(1,2,3,'abc');
    //直接創(chuàng)建
    var aRr02 = [1,2,3,'def'];//推薦使用,性能更高

    //獲取數(shù)組的成員數(shù)量(長度)
    // alert(aRr02.length);//彈出4
    // alert(aRr02[3]);//彈出cdf

    var aRr03 = [[1,2,3],['a','b','c','d'],[true,false]];
    // alert(aRr03.length);//彈出3
    // alert(aRr03[1].length);//彈出3
    alert(aRr03[1][2]);//彈出c
</script>
數(shù)組常用方法
<script type="text/javascript">
    var aRr = [1,2,3,4];
    //用-連接數(shù)組元素并轉(zhuǎn)為字符串
    //var sTr = aRr.join("-");//用-連接數(shù)組元素并轉(zhuǎn)為字符串,彈出1-2-3-4

    // var sTr = aRr.join('');//用空串連接
    // alert(sTr);//彈出1234

    //向數(shù)組最后追加元素
    // aRr.push(5);
    // alert(aRr);//1,2,3,4,5

    //刪除末尾元素
    // aRr.pop();
    // alert(aRr);//1,2,3

    //向最前面插入元素0
    // aRr.unshift(0);
    // alert(aRr);//0,1,2,3,4

    //刪除第一個(索引為0的)元素
    // aRr.shift();
    // alert(aRr);//2,3,4

    //反轉(zhuǎn)
    // aRr.reverse();
    // alert(aRr);//4,3,2,1

    //查找字母'b'第一次出現(xiàn)的索引
    var aRr2 = ['a','b','c','d','a','b','c','d'];
    var num = aRr2.indexOf('b');
    // alert(num);//1

    //從第2索引元素開始,刪除1個元素
    // aRr2.splice(2,1);//刪除c
    // alert(aRr2);//a,b,d,a,b,c,d

    //從第2索引元素開始,刪除1個元素,再插入e
    // aRr2.splice(2,1,'e');//把c替換成e
    // alert(aRr2);//a,b,e,d,a,b,c,d

    //刪除后面的abcd,改為fghi
    aRr2.splice(4,4,'f','g','h','i');
    alert(aRr2);//a,b,c,d,f,g,h,i
</script>
通過標簽獲取元素
<script type="text/javascript">
    window.onload = function(){
        // //獲取頁面上所有的li
        // var aLi = document.getElementsByTagName('li');

        //獲取id為list01的ul
        var oList = document.getElementById('list01');
        //再獲取這個ul下的所有l(wèi)i
        var aLi = oList.getElementsByTagName('li');
        alert(aLi.length);//8
        // aLi.pop();//錯誤用法,aLi是一個類似數(shù)組的選擇集,沒有數(shù)組通用的一些方法

        aLi[0].style.backgroundColor = 'gold';
        aLi[1].style.backgroundColor = 'gold';
    }
</script>
</head>
<body>
<ul id="list01">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
</ul>

<ul id="list02">
    <li>9</li>
    <li>10</li>
    <li>11</li>
    <li>12</li>
</ul>
</body>
循環(huán)語句
<script type="text/javascript">
    /*
    循環(huán)語句:
        通過循環(huán)語句可以反復(fù)的執(zhí)行一段代碼多次
    
    while循環(huán)
        - 語法:
            while(條件表達式){
                語句...
            }
    
        - while語句在執(zhí)行時,
            先對條件表達式進行求值判斷,
                如果值為true,則執(zhí)行循環(huán)體,
                    循環(huán)體執(zhí)行完畢以后,繼續(xù)對表達式進行判斷
                    如果為true,則繼續(xù)執(zhí)行循環(huán)體,以此類推
                如果值為false,則終止循環(huán)
    
    do...while循環(huán)
        - 語法:
            do{
                語句...
            }while(條件表達式)
    
        - 執(zhí)行流程:
            do...while語句在執(zhí)行時,會先執(zhí)行循環(huán)體,
                循環(huán)體執(zhí)行完畢以后,在對while后的條件表達式進行判斷,
                如果結(jié)果為true,則繼續(xù)執(zhí)行循環(huán)體,執(zhí)行完畢繼續(xù)判斷以此類推
                如果結(jié)果為false,則終止循環(huán)
    
            實際上這兩個語句功能類似,不同的是while是先判斷后執(zhí)行,
                而do...while會先執(zhí)行后判斷,
            do...while可以保證循環(huán)體至少執(zhí)行一次,
                而while不能

    for語句,也是一個循環(huán)語句,也稱為for循環(huán)
        在for循環(huán)中,為我們提供了專門的位置用來放三個表達式:
            1.初始化表達式
            2.條件表達式
            3.更新表達式
    
    for循環(huán)的語法:
            for(①初始化表達式;②條件表達式;④更新表達式){
                ③語句...
            }
    
            for循環(huán)的執(zhí)行流程:
                ①執(zhí)行初始化表達式,初始化變量(初始化表達式只會執(zhí)行一次)
                ②執(zhí)行條件表達式,判斷是否執(zhí)行循環(huán)。
                    如果為true,則執(zhí)行循環(huán)③
                    如果為false,終止循環(huán)
                ④執(zhí)行更新表達式,更新表達式執(zhí)行完畢繼續(xù)重復(fù)②

    任意一種循環(huán)都可以互相嵌套
    */
    window.onload = function(){
        var oList = document.getElementById('list01');
        var aLi = oList.getElementsByTagName('li');
        /*for (var i = 0; i < aLi.length; i++) {
            if(i % 2 == 0){
                aLi[i].style.background = 'gold';
            }
        }*/

        /*for(var j in aLi){
            aLi[j].style.background = 'red';
        }*/

        //創(chuàng)建一個循環(huán),往往需要三個步驟
        //1.創(chuàng)初始化一個變量
        var j = 0;
        //2.在循環(huán)中設(shè)置一個條件表達式
        /*while(j < aLi.length){
            aLi[j].style.background = 'gold';
            //3.定義一個更新表達式,每次更新初始化變量
            j++;
        }*/

        do{
            aLi[j].style.background = 'gold';
            j++;
        }while(j < 0)

        /*
        以下是死循環(huán)的寫法
        像這種將條件表達式寫死為true的循環(huán),叫做死循環(huán)
        該循環(huán)不會停止,除非瀏覽器關(guān)閉,死循環(huán)在開發(fā)中慎用
        可以使用break,來終止循環(huán)
        */
        /*while(true){
            if(j>10){
                break;//退出整個循環(huán)
            }
            j++;
        }
        //for循環(huán)的死循環(huán)寫法
        for(;;){

        }*/

        /*
        break關(guān)鍵字可以用來退出switch或循環(huán)語句
            不能在if語句中使用break和continue
            break關(guān)鍵字,會立即終止離他最近的那個循環(huán)語句
        continue關(guān)鍵字可以用來跳過當次循環(huán)
            同樣continue也是默認只會對離他最近的循環(huán)循環(huán)起作用
         */
        /*
        可以為循環(huán)語句創(chuàng)建一個label,來標識當前的循環(huán)
            label:循環(huán)語句
        使用break語句時,可以在break后跟著一個label,
            這樣break將會結(jié)束指定的循環(huán),而不是最近的
         */

        outer:
        for(var i=0 ; i<5 ; i++){
            console.log("@外層循環(huán)"+i);
            for(var j=0 ; j<5; j++){
                console.log("內(nèi)層循環(huán):"+j);
                break outer;
            }
        }
    } 
</script>
</head>
<body>
<ul id="list01">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
</ul>
</body>
數(shù)組去重
<script type="text/javascript">
    var aRr = [1,3,4,1,6,9,1,2,5,3,1,6,5,4,4];
    var aRr2 = [];

    for(var i=0; i<aRr.length; i++){
        //判斷元素第一次出現(xiàn)的位置,恰好是當前索引時,就將元素放入新數(shù)組
        if(aRr.indexOf(aRr[i]) == i){
            aRr2.push(aRr[i]);
        }
    }

    alert(aRr2);//1,3,4,6,9,2,5
</script>
字符串處理的方法
<script type="text/javascript">
    /*字符串切斷轉(zhuǎn)成數(shù)組*/
    var sTr = '2018-06-20';
    var aRr = sTr.split('-');
    // alert(aRr);//2018,06,20
    // console.log(aRr);

    var aRr2 = sTr.split('');
    // console.log(aRr2);

    /*實際上就是修改了<title>標簽的內(nèi)容*/
    // document.title = aRr2;

    var sTr2 = '#div1';
    var sTr3 = '.div1';

    /*獲取指定索引的字符*/
    var sTr4 = sTr2.charAt(0);
    if(sTr4 == '#'){
        // alert('id選擇器');
    }

    /*查看子串第一次出現(xiàn)的位置*/
    var sTr5 = 'Microsoft Yahei';
    var num = sTr5.indexOf('Yahei');
    // alert(num);//10

    var num2 = sTr5.indexOf('xihei');
    // alert(num2);//沒有找到就彈出-1

    /*substring截取子串*/
    //從10開始,截到15(包括開始位置,不包括結(jié)束位置)
    // var sTr6 = sTr5.substring(10,15);//Yahei
    //從10開始截取到末尾
    var sTr6 = sTr5.substring(10);//Yahei
    // alert(sTr6);

    /*全部轉(zhuǎn)為大寫字母*/
    // alert(sTr6.toUpperCase());//YAHEI
    /*全部轉(zhuǎn)為小寫字母*/
    alert(sTr6.toLowerCase());//yahei
</script>
字符串反轉(zhuǎn)
<script type="text/javascript">
    var sTr = "123abc456";
    //1、split字符串轉(zhuǎn)成數(shù)組
    //2、reverse數(shù)組反轉(zhuǎn)
    //3、join數(shù)組轉(zhuǎn)成字符串
    var sTr2 = sTr.split('').reverse().join('');
    alert(sTr2);//12efdsa88897fdsa321
</script>
計算器
<script type="text/javascript">
    window.onload = function(){
        var oInput01 = document.getElementById('input01');
        var oInput02 = document.getElementById('input02');
        var oSelect = document.getElementById('select');
        var oBtn = document.getElementById('btn');

        oBtn.onclick = function(){
            var val01 = oInput01.value;
            var val02 = oInput02.value;

            //不做此判斷會彈出“NaN”
            if(val01=="" || val02==""){
                alert('輸入框不能為空!');
                return;
            }
            if(isNaN(val01) || isNaN(val02)){
                alert('請輸入數(shù)字!');
                return;
            }
            switch(oSelect.value){
                case '0':
                    alert((parseFloat(val01)*100 + parseFloat(val02)*100)/100);
                    break;
                case '1':
                    alert((parseFloat(val01)*100 - parseFloat(val02)*100)/100);
                    break;
                case '2':
                    alert((parseFloat(val01)*100) * (parseFloat(val02)*100)/10000);
                    break;
                case '3':
                    alert((parseFloat(val01)*100) / (parseFloat(val02)*100));
                    break;
            }
        }
    }
</script>
</head>
<body>
<h1>計算器</h1>
<input type="text" name="" id="input01" />
<select id="select">
    <option value="0">+</option>
    <option value="1">-</option>
    <option value="2">*</option>
    <option value="3">/</option>
</select>
<input type="text" name="" id="input02" />
<input type="button" name="" value="計算" id="btn" />
</body>
定時器彈框
| <style type="text/css"> |
|  | .pop{ |
|  | width: 400px; |
|  | height: 300px; |
|  | background-color: #fff; |
|  | border: 1px solid #000; |
|  | /*固定定位*/ |
|  | position: fixed; |
|  | /*左上角位于頁面中心*/ |
|  | left: 50%; |
  |  | top: 50%; |
|  | /*讓div向左偏移半個寬度、向上偏移半個高度,使div位于頁面中
心*/ |
|  | margin-left: -200px; |
|  | margin-top: -150px; |
|  | /*彈窗在最上面*/ |
  |  | z-index: 9999; |
|  | } |
|  | /*遮罩樣式*/ |
|  | .mask{ |
|  | position: fixed; |
  |  | width: 100%; |
|  | height: 100%; |
|  | background-color: #000; |
|  | left: 0; |
|  | top: 0; |
|  | /*設(shè)置透明度30%*/ |
|  | opacity: 0.3; |
|  | filter: alpha(opacity=30);/*兼容IE6、7、8*/ |
|  | /*遮罩在彈窗的下面,在網(wǎng)頁所有內(nèi)容的上面*/ |
|  | z-index: 9990; |
|  | } |
|  | .pop_con{ |
|  | display: none;/*默認不顯示,用定時器顯示*/ |
|  | } |
|  | </style> |
|  | <script type="text/javascript"> |
|  | /* |
|  | setTimeout 只執(zhí)行一次的定時器 |
|  | clearTimeout 關(guān)閉只執(zhí)行一次的定時器 |
|  | setInterval 反復(fù)執(zhí)行的定時器 |
|  | clearInterval 關(guān)閉反復(fù)執(zhí)行的定時器 |
|  | */ |
|  | 
 |
|  | window.onload = function(){ |
|  | var oPop = document.getElementById('pop'); |
|  | var oShut = document.getElementById('shutOff'); |
|  | 
 |
|  | /*setTimeout(showPop, 3000);//開啟定時器,3秒后調(diào)用函數(shù)
showPop()彈框 |
|  | 
 |
|  | function showPop(){ |
|  | oPop.style.display = 'block';//顯示彈框和遮罩 |
|  | }*/ |
|  | //開啟定時器的簡寫方式:調(diào)用匿名函數(shù) |
|  | setTimeout(function(){ |
|  | oPop.style.display = 'block'; |
|  | }, 3000); |
|  | 
 |
|  | oShut.onclick = function(){ |
|  | oPop.style.display = 'none';//關(guān)閉彈框和遮罩 |
|  | } |
|  | } |
|  | </script> |
|  | </head> |
|  | <body> |
|  | <h1>首頁標題</h1> |
|  | <p>頁面內(nèi)容</p> |
|  | <a href="[http://www.baidu.com](http://www.baidu.com)">百度網(wǎng)
</a> |
|  | 
 |
|  | 
 |
|  | <div class="pop_con" id="pop"> |
|  | <div class="pop"> |
 |  | <h3>提示信息!</h3> |
|  | <a href="[#](#)" id="shutOff">關(guān)閉</a> |
|  | </div> |
|  | <div class="mask"></div> |
|  | </div> |
|  | </body> |
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 木板悠悠高昂頭, 小狗伴君樂暢游。 白云青山順水流, 海闊魚躍我最牛。
    efab227f5376閱讀 374評論 2 19
  • 書越厚越好看,老外的經(jīng)典教材比較厚,能把事情講解清楚, 說明行業(yè)在進步,行業(yè)在進步才能賺到錢,自由競爭,依靠壟斷,...
    逐者閱讀 293評論 0 0
  • 本節(jié)學習目標 掌握一種很實用的優(yōu)化游戲性能的方法 先看一種圖 第一個壺的表面是由256多邊形組成的第二個壺的表面由...
    酷走天涯閱讀 843評論 0 1

友情鏈接更多精彩內(nèi)容