Javascript入門學習


編程之道,程序員不僅僅要精通一門語言,而是要多學習幾門。

第一課
1:javascript的主要特點
解釋型:不需要編譯,瀏覽器直接解釋執行
基於對象:我們可以直接使用JS已經創建的對象
事件驅動:可以對以事件驅動的方式相應客戶端的輸入,無須經過服務器端程序
安全性:不允許訪問本地硬盤,不能將數據寫入到服務器上
跨平台:js依賴瀏覽器本身,與操作系統無關

第二課
如何在網頁中寫Javascript
1:在頁面中直接嵌入Javascript
    <script language="javascript">
    
        javascript程序
    </script>
javascript可以插入在<head></head>標簽中間,
也可以放在<body></body>標簽中間    
最常用放在<head></head>標簽之間    

案例如下,將javascript代碼插入在<head></head>標簽中間。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>初學javascript</title>

    <script language="javascript">
        var now=new Date();//獲取Date對象的一個實例
        var hour=now.getHours();//獲取小時數
        var min=now.getMinutes();//獲取分鍾數
        alert("當前時間"+hour+":"+min+"\n歡迎訪問檸檬學院http://www.bjlemon.com/");
    </script>
</head>
<body>
</body>
</html>

案例運行結果如下


  

案例2代碼如下

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>我的年月日</title>
    <script language="javascript">
        var now=new Date();//獲取日期對象
        var year=now.getYear()+1900;//獲得年,在js中年份需要加1900才可以顯示此時此刻的年份
        var month=now.getMonth()+1;//獲得月份,月份是0-11,所以在js中需要加1
        var date=now.getDate();//獲得日
        var day=now.getDay();//獲得星期幾
        var day_week=new Array("禮拜日","禮拜一","禮拜二","禮拜三","禮拜四","禮拜五","禮拜六");
        var week=day_week[day];
        var time="當前時間:"+year+"年"+month+"月"+date+"日"+week;
        alert(time);
    </script>
</head>
<body></body>
</html>

 案例2運行結果如下

 2:引用外部的Javascript

如果腳本比較復雜或者是同一段代碼被很多頁面所使用,則可以將這些腳本代碼放置在一個單獨的文件中,該文件的擴展名是.js,然后再需要使用該代碼的web頁面中鏈接該javascript文件即可

<script language="javascript" src="*.js">
</script>
(建議)以上代碼一般寫在<head></head>中間比較好

在.js后綴的文件中,不需要使用<script></script>標簽對括起來

<body onload="getDate()">表示的是加載頁面時調用getDate()方法getdate()是定義在.js后綴的文件中的方法

此案例后綴是.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>引用外部的js</title>
    <script language="javascript" src="js1.js">
    </script>
</head>
<body onload="getdate()">
</body>
</html>

此案例后綴是.js

function getdate(){
    var now=new Date();//獲取日期對象
        var year=now.getYear()+1900;//獲得年,在js中年份需要加1900才可以顯示此時此刻的年份
        var month=now.getMonth()+1;//獲得月份,月份是0-11,所以在js中需要加1
        var date=now.getDate();//獲得日
        var day=now.getDay();//獲得星期幾
        var day_week=new Array("禮拜日","禮拜一","禮拜二","禮拜三","禮拜四","禮拜五","禮拜六");
        var week=day_week[day];
        var time="當前時間:"+year+"年"+month+"月"+date+"日"+week;
        alert(time);
    
}

綜合上面兩個案例的運行結果是


 第三課
javascript的語法
1:javascript的語法
  1.1:js的變量區分大小寫
        usename,useName這是兩個不同的變量
  1.2:每行結尾的分號可有可無,如果語句的結束沒有分號,那么js
  會自動將這行代碼的結尾作為語句的結尾
        alert("hello world");
        alert("hello world")
  1.3:變量是弱類型
        定義變量時只使用var運算符
        例如:var usename="biexiansheng";
              var age=22;
  1.4:使用大括號標簽代碼塊
        {  //代碼}被封裝在大括號內的語句按照順序執行
  1.5:注釋
        1.5.1:單行注釋  //
            單行注釋使用雙斜線"//"開頭,在"//"后面的文字即為注釋內容
            注釋的內容在代碼執行過程中不起作用。
            var now=new Date();//獲取日期對象
        1.5.2:多行注釋 /**/
            多行注釋以/*開頭,以*/結尾,在兩者之間的內容為注釋內容
            在代碼執行過程中不起任何作用。
            /*
            *功能:獲取當前日期
            *作者:biexiansheng
            */
            function getClock(){
                //內容
            }

第四課
javascript的數據類型(不管javascript有多少種數據類型,聲明的時候只可以使用var來聲明)
1:數值型
    整形:123   //十進制
          0123  //八進制,以0開頭
          0x123 //十六進制 ,以0x開頭(是零不是o)     
    浮點型:整數部分加小數部分,只能以十進制表示,不過可以使用科學記數法
          3.1415926   //標准形式的浮點數
          3.14E9      //采用科學計數法來表示,代表的是3.14乘以10的9次方
          
2:字符型
    字符型數據是使用單引號或者多引號括起來的一個或者多個字符
    例如:'a'    'hello world'
          "a"    "hello world"
    javascript中無char數據類型
    如果要表示單個字符,必須要使用長度為1的字符串
    
    單引號包含雙引號 '"hello"'
    雙引號包含單引號 "'world'"
3:布爾型
    布爾型數據只有true或者false,在js中也可以使用整數0代表false,使用非0的整數代表true

4:轉義字符
    以反斜杠開頭的不可顯示的特殊字符通常稱為控制字符,也被稱為轉義字符
    \b退格   \n換行   \f換頁   \tTab符  \'單引號   \" 雙引號   \\反斜杠

5:空值
    null,用於定義空的或者不存在的引用
    例如 var a=null;
    
6:未定義值
    已經聲明但是沒有賦值的變量
    var a;
    alert(a);
    彈出undefined是關鍵字,用來代表未定義值    

 
 7:Array型
    數組類型,數組是包含基本和組合數據的序列,在javascript腳本語言中
    每一種數據類型對應一種對象,數據本質上即為Array對象。
     var score=[45,56,45,78,78,65];
    由於數組本質上為Array對象,則可用運算符new來創建新的數組,如
    var score=new Array(45,65,78,8,45);
    訪問數組中特定元素可通過該元素的索引位置index來實現,如下面語句聲明
    變量返回數組score中第4個元素
    var m=score[3];

第五課
變量的定義與使用
1:變量的命名規則
    變量名由字母,數字,下划線組成,但是不能以數字開頭
    不能使用javascript中的關鍵字
    嚴格區分大小寫
    例如  username  username
2:變量的聲明
    var variable
    可以使用一個var聲明多個變量,比如
         var now,year,month,date;
    可以在聲明變量的同時對它進行賦值,也就是初始化
         var now="2016-8-11",year="2016",month="8",date="11";
    如果只是聲明了變量,沒有賦值,那么該變量的默認值就是undefined
    
    javascript是弱類型,聲明的時候不需要指定變量的類型,變量的類型將根據變量的值來確定
    
    全局變量的聲明:1:在函數體外的聲明都是全局變量,無論是否有var聲明
                        2:在函數體內部使用var聲明的變量是局部變量,不使用var聲明的變量是全局變量
   

//如果給一個尚未聲明的變量類型賦值時,javascript會自動使用該變量創建一個布局變量
例如:a="hello world";    
       funcation test(){
            var c="局部變量";//這個c是局部變量,也是唯一的一種方式定義局部變量
            b="全部變量";//這個b也是全部變量
       }
       
       function test2(){
            alert(b);
       }
    
3:變量的作用域
        變量的作用域是指變量在程序中的有效范圍
        全部變量:定義在所有函數之外,作用於整個代碼的變量
        局部變量:定義在函數體內,只作用於函數體內的變量

第六課
運算符的應用
1:賦值運算符
    簡單賦值運算符
        例如var useName='tom';//簡單賦值運算符
    復合賦值運算符
        a+=b;//相當於a=a+b;
        a-=b;//相當於a=a-b;
        a*=b;//相當於a=a*b;
        a/=b;//相當於a=a/b;
        a%=b;//相當於a=a%b;
        a&b=b;//相當於a=a&b;邏輯與運算
        a|=b;//相當於a=a|b;邏輯或運算
        a^=b;//相當於a=a^b;邏輯非運算符
2:算術運算符
+ - * / %
++ 前++先加后用   后++先用后加
-- 前--先減后用   后--先用后減
注意:在進行除法運算時,0不能作為除數,如果0作為除數,那么將會返回這個關鍵字infinity

3:比較運算符
>大於  <小於  >=大於等於  <=小於等於  
==等於         只是根據表面值進行判斷,不涉及數據類型,alert("11"==11);返回true。
===絕對等於    不僅判斷表面值,還要判斷數據類型是否一樣。
!= 不等於     只是根據表面值進行判斷,不涉及數據類型。
!==不絕對等於 不僅判斷表面值,還要判斷數據類型是否一樣。

4:邏輯運算符
    !邏輯非
    &&邏輯與。只有當兩個操作數的值都為true的時候,結果才會true
    ||邏輯或。只有兩個操作數有一個為true,則結果為true
5:條件運算符
    條件運算符是javascript支持的一種特殊的三元運算符
    語法格式:操作數?結果1:結果2;
          如果操作數的值為true,則整個表達式的結果為結果1
          如果操作數的值為false,則整個表達式的結果為結果2
6:字符串運算符
    連接字符串的兩種方式
    +。 var a="hello"+"world";
    +=。var a+="hello world!!!";  

第七課
流程控制if,switch語句
1:if條件判斷語句
    1:if(expression){
        //expression為true的時候執行里面的語句
    }
    2:if(expression){
        //expression為true的時候執行里面的語句
    }else{
        //expression為false的時候執行里面的語句
    }
    3:if(expression){
        //expression為true的時候執行里面的語句
    }else if(expression1){
        //expression1為true的時候執行里面的語句
    }else if(expression2){
        //expression2為true的時候執行里面的語句
    }else{
        //這個else可有可無,如果有的話,則上述條件
        //都不滿足的時候指定else
    }
2:switch語句
優點:可讀性好,易讀
    語法格式
    switch(表達式){
        case 條件1:語句1;
                break;
        case 條件2:語句2;
                break;
        case 條件3:語句3;
                break;
        case 條件4:語句4;
                break;
        case 條件5:語句5;
                break;
        default:語句6//無匹配的執行此語句;        
    }
第八課
流程控制之for,while,do-while語句
1:for循環語句
    語法格式
    for(1初始條件;2循環條件;4增長步幅){
        3語句體;
    }
    //先執行初始條件,然后判斷循環條件是否返回true,
    //如果返回false,終止條件,如果為true,執行語句體,
    //然后執行增長步幅
    //1->2true->3->4->2true->3->4
    //1->2false->3->4->2false  for循環結束
    實例
    var sum=0;
    for(var i=0;i<10;i++){
        sum+=i;
    }
    alert(sum);
2:while循環語句
    語法格式
        while(表達式1){
            2語句體;
        }
        1true->2->1true->2.....
        實例
        var sum=0;
        var i=1;
        while(i<10){
            sum+=i;
            i++;
        }
        alert(i);
3:do-while循環語句
    do-while循環的循環能夠保證至少執行一次。
    語法格式
    do{
        1執行循環體
    }while(2判斷條件);
    1->2true->1->2true.....
    
    注意:while循環是先判斷條件是夠成立,然后再根據判斷的結果
    是否執行循環體
    do-while循環是先執行一次循環體,然后再判斷條件是否為true.
    所以do-while循環能夠保證至少執行一次。
    
    實例
    var sum=0;
    var i=1;
    do{
        sum+=i;
    }while(i<=10);
    alert(sum);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM