1. 程式人生 > >javascript復習筆記

javascript復習筆記

之間 絕對值 都是 名稱 字符串表 nbsp 最好 span 隨機數

/*
Javascript:用來在頁面中編寫特效,和HTML、CSS一樣都是有瀏覽器解析

Javascript語言:
    一、JS如何運行(javascript,jscript,vbscript,applet...)
    
    二、輸出
        alert(什麽類型都可以);可以做調試用
        document.write("字符串");
        
    三、如何在HTML文檔中使用JS
        使用<script></script>將js語法嵌入到html中,可以使用多個,每一個之間都是有關聯的。
        <script src="demo.js"></script>引入外部js文件,多個文件之間是相通的,但是有先後順序。
        <a href="javascript:alert("111111");"></a>點擊A鏈接時執行Javascirpt程序
        事件:事件觸發時運行js
    js語法:
        命名規範:
            1.命名一定要有意義。
            2.不以數字開頭的字母、數字、下劃線、$符號。
            3.不能是關鍵字和保留字。
        大小寫:javascript嚴格區分大小寫
        駝峰式命名法:變量名和函數,第一個單詞小寫,以後每個單詞首字母大寫showColor();
        對象:每個單詞首字母都要大寫  Data();new Object();
        分號:
            結構定義語句後面不用加分號。if(){}  for(){}  function(){}
            功能執行語句後面加分號。var a=1;如果有回車換行的地方可以省略(因為js認為換行表示語句結束),但是建議都加上分號。
        註釋:寫註釋文檔
            //單行
            多行
            
    四、變量
        var a=10;
        註:聲明的變量調運後保存在內存裏隨時使用,只有當關閉瀏覽器才會釋放內存,與別的語言不同。
        
        var 變量名=值;
        註:javascript是弱類型語言(和PHP相同)
        
        var a=10;   聲明
        a=10;        賦值    
        
    五、數據類型
        1.number(int float double)包括整形浮點型,計算時還是按整形和浮點型分開看。
        2.string(string char)
        3.boolean
        4.object(object array null)註意:使用時分別處理
        5.undefind沒有聲明的變量
        
        整數:
            var a=10;十進制
            var a=045;八進制
            var a=0xff;十六進制
        
        浮點型:
            浮點數是近似數,不能用作判斷兩個浮點數等於( 0.1=0.0999999999)
            var f=10.5;
            var f=10.55;
            var f=10.5e+10;
        
        字符串
            ‘‘
            ""
            沒有區別,所有的轉義都可以使用
            用+號連接字符串
        
    六、運算符和表達式
        算數運算符
            + - * / % ++ --
            var a=10+5+"12abc"+20  //1512abc20 javascript裏所有與字符串運算的都按字符串處理。
            %(最後值的正負與前面值正負一致)求余數的話,最好都是整數,如果有浮點數的話,求出來的值沒意義。4%2.7  值為1.29999998
        賦值運算符
            = += -= *= /= %=
        條件運算符
            > < == != >= <= === !==
            兩邊比較時最好是相同類型,比較完之後值是布爾型
            var a=false;
            if(a){alert("111");}else{alert("000");}
        邏輯運算符
            && || ! ^
        位運算符號(C語言裏面加密和算法的時候用到)
            >> >>> << | & ~
        其他 ?:
    
    七、流程控制
        順序結構
        條件結構/分支結構/選擇結構
            1.單路分支
                if(boolean){
                }
            2.雙路分支
                if(boolean){
                }else{
                }
            3.多路分支
                if(boolean){
                }else if(boolean){
                }
                }else if(boolean){
                }用於範圍
                
                switch(變量){   //變量值最好用整形或字符型
                    case:值1;
                        表達式1;
                        break;
                    case:值2;
                        表達式2;
                        break;
                    default;
                }單個值匹配
            4.嵌套分支
                if(bool){
                    if(bool){
                        ...
                    }
                }
        循環結構
            條件循環(js用的不多)
            var i=0;
            while(i<100){
                document.write("###");
                i++;
            }
            
            do-while()
            計數循環
            st:
            for(var i=1;i<=9;i++){
                for(var j=0;j<=9;j++){
                if(j==5)
                    break st; //退出雙重循環的辦法,輸出5例後跳出
                    document.write(j+"*"+i+"="+(j*i)+"&nbsp")
                }
                document.write("<br>");
            }
            break退出循環
            continue退出本次循環
    八、函數:是一段完成“指定功能”的已經”命名“的代碼段
        函數只用”調用“才能使用到,通過函數名稱調用(可以在聲明之前,也可以在聲明之後)
        function test(obj){  //obj是形參
            功能段
            return 值;//退出函數
        }
        test(x); //x實參
        函數名不加()時,這個函數名就代表整個函數
        alert(typeof(test));//function
        alert(test);//函數可以看成是變量,彈出test()的函數聲明
        var demo=test;
        demo(x);//和test(x)一樣的效果
        1.函數名
        2.參數
        3.函數體(功能)
        4.返回值(可選)有返回值才能稱之為函數,沒有返回值只能稱之為過程
        回調函數:函數通過傳遞變量不能解決問題,通過傳遞函數來完成
        
    九、對象(首字母大寫)
        1.基於對象的操作方式(面向對象主要有三大特性:封裝、繼承、多態)
        2.將相關的操作使用一個對象完成,看做是一個整體
        
        字符串對象
        數學對象
        數組對象
        時間對象
        
        對象裏存的內容:
            1.屬性(變量)
            2.方法(函數)
        
        聲明對象;
        使用對象;
        使用系統對象;
        
    十、內置JS對象
        重要:
        Array對象
        String對象
            屬性:length
            方法:
                bold  把HTML<b>標記放置在對象中的文本兩端
                    var str1="abc";
                    str2=str1.bold();//<b>abc</b>
                charAt 返回指定索引位置處的字符
                replace 返回根據正則表達式進行文字替換後的字符串的復制。
                lastIndexOf 返回string對象中字符串最後出現的位置
                match 使用正則表達式模式對字符串執行查找
                substr 返回一個從指定位置開始的指定長度的子字符串
                    var s="acdscdgaefes";
                    var ss=s.substr(2,6);//dscdg
                toString
                toUpperCase 所有字母都轉換為大寫字母
                toLowerCase 所有字母都轉換為小寫字母
        Math對象
            屬性:E、PI
            方法:
                abs    絕對值
                ceil   返回大於等於其數字參數的最小整數
                floor  返回小於等於其數值參數的最大整數
                random    返回介於0到1的偽隨機數
                round    返回與給出的數值表達式最接近的整數。
                max     返回數值表達式中的較大者。
                min        返回數值表達式中的較小者。
                var i=300;
                var x=Math.max(-6,Math.min(6,i));x在正6負6之間
        RegExp對象
        Data對象
        Global對象
        
        了解:
        Boolean對象        
        Function對象                
        Number對象
        Object對象
        
    十一、數組
        Array對象
            數組的作用:只要是批量的數據都需要使用數組聲明;
            聲明數組:
                1.快速聲明
                var arrs=[item1,item2,item3,,,,,,];
                var arrs=[[1,2,3],[4,5,6],[7,8,9]];
                2.使用Array對象
                var arr=new Array("item1","item2","item3");
            屬性:length、prototype
            方法:
                concat 連接數組
                join   連接數組元素
                pop        移除數組中最後一個元素並返回改元素
                shift  移除數組中第一個元素並返回改元素
                push    將新元素添加到一個駐足中
                reverse 返回一個元素順序被反轉的數組對象
                slice   返回數組的一段arrayobj.slice(start,end);
                sort    排序
                splice    移除數組中的一個或多個元素
                toString 返回對象的字符串表示objname.toString(進制);
DOM:
    DOM操作:
    
    事件:
        一、事件源:任何一個HTML元素body,div,button,p,a,h1等等
        二、事件:你的操作
            鼠標事件:
                click
                dbclick
                textcontentmenu(在body)文本菜單(鼠標右鍵事件)
                    <body oncontextmenu="return test()">
                        <script>
                            function test(){
                                alert("ok");
                                return false;
                            }
                        </scirpt>
                    </body>
                mouseover
                mouseout
                mousedown
                mouseup
                mousemove
            鍵盤事件:
                keypress 鍵盤事件  只能獲取數字和字母鍵(不包括功能鍵、方向鍵等)
                keyup    所有按鍵
                keydown 所有按鍵
            
            文檔:
                load 頁面加載完之後觸發
                unload
                beforeunload 關閉之前
                
            表單:
                submit
                focus
                blur
                change 表單內容改變
                
            其他:
                scroll滾動事件
                selected選擇事件
        
        三、事件處理
            三種方法加事件:
                1.標簽裏加
                <p on事件="事件處理程序"></p>
                2.<script></script>標簽裏加
                <script>
                    對象.on事件=function(){
                        事件處理程序
                    }
                </script>
                3.不常用
                <script for="事件ID" event="事件">事件處理程序</script>
        
    事件對象:    事件發生時產生的事件對象
        屬性:
            1.srcElement  事件源對象,不需要用this一般用this,不過可以用來解決兼容性
            <p onclick="show()">aaaaa</p>
            <script>
                function show(){
                    window.srcElement.innerText="aaa";
                }
            </script>
            2.keyCode 事件發生時的鍵盤碼
            <body onkeydown="show()">
                <script>
                    function show(){
                        alert(event.keyCode);
                    }
                </script>
            </body>
            3.clientX,clientY
            4.screenX,screenY
            5.returnValue
            window.event.returnValue=false;
            6.cancelBubble取消冒泡
            <body onclick="one()">
                <img src="images/ren_s_1.png" onclick="two">
                <script>
                    function one(){
                        alert("body click");
                    }
                    function two(){
                        alert("img click");
                        window.event.cancelBubble=ture;  //當出現冒泡事件後,程序執行到這裏就不在往下執行。
                    }
                </script>
            </body>
                
BOM:瀏覽器對象模型
    一、瀏覽器本身就有一些對象,這些對象不用創建就能使用;
        1.window:當前瀏覽器窗體的
            屬性:    
                status
                opener
                closed
            方法:
                alert();
                confirm();  onclick="return confirm("你確認刪除嗎?");"
                setInterval();
                
                    var num=0;    
                    var dir=1;
                    setInterval(function(){
                        if(num>40||num<0){
                            dir=-1*dir;
                        }
                        num+=dir;
                        var space="";
                        for(var i=0;i<num;i++){
                            space+=" ";  //通過添加空格來實現滾動向右顯示;
                        }
                                            
                        window.status=space+"滾動顯示的內容";
                    },100);
                    
                    
                clearInterval();
                seTimeout();
                clearTimeout();
                open(); window.open("url","windowName","windowFeature");

*/

javascript復習筆記