1. 程式人生 > >javascript學習一、js的初步了解

javascript學習一、js的初步了解

-c 另一個 乘法表 bom 及其 所有 返回 雙引號 spa

1、javascript的簡介:
    *javascript 是一種基於對象和事件驅動的語言,主要應用於客戶端。
        -- 基於對象:
             ** 提供了很多對象,可以直接使用。
        --事件驅動:
            ** html做的網頁是靜態效果,javascript做的是動態效果。
        --客戶端:
            主要是指瀏覽器。

    *js的特點:
        (1)交互性:
            --信息的動態交互。
        (2)安全性:
            --s不能訪問本地磁盤中的文件。
        (3)跨平臺性:
            --與java不同,js直接使用 瀏覽器跨平臺。

    *javascript和java之間的區別:(沒有任何關聯)

        (1)java是sun公司(現在是oracle)發布
           js是網景公司發布。
        (2)javascript是基於對象的,java是面向對象的。
        (3)java是強類型的語言, js是弱類型的語言。
        (4)js是解析就可以執行, java需要先編譯再執行。

    *js的組成
        有三部份
          (1)ECMAScript
              --ECMA :歐洲計算機協會, 由其為js指定語法。
          (2)BOM
              --broswer object model : 瀏覽器對象模型。
          (3)DOM
              --document object model :文檔對象模型。



2、js和html的結合方式(兩種)
    第一種:
        --使用一個標簽:
            <script type="text/javascript" > js代碼 </script>
    第二種:
        --引入外部文件:
            -- 創建一個 .js文件。
            -- <script type="text/javascript" src=" 外部文件地址 "> </script>
      註意

: 在第二種中的script標簽中不要寫其他js代碼了,不會被執行。

3、js的原始類型和聲明變量
    ** java中有是八大基本數據類型 : byte short int long float double char boolean
      js中,只有五個原始類型:
        --string: 字符串
            *** var str = "abc";

        --number: 數字類型
            *** var num = 123;

        --boolean: true和false
            *** var falg = true;

        --null:
            *** 獲取對象的引用,null用來表示引用為空,所有對象的引用都為 object
            *** var date = new Date();

        --undifined
            *** 定義一個變量,沒有被賦值
       *** var aa;



    ** typeof() ;查看當前變量的數據類型。
    ** alert() ; 在頁面跳出一個對話框。
    ** document.write();直接想頁面輸出的語句(可以把括號內的語句輸出到頁面上)
               也可以輸出html代碼。

4、js的語句
    --在java裏面的語句:
        ***if語句
        ***switch語句
        ***循環語句: for 、while、 do-while

    --在js裏面也有這些語句
        ***if判斷語句
     註意:
  *****=: 賦值
          *****==:判斷

        ***switch語句
            --java從1.7才開始支持 string,枚舉類型,
            --js中所有類型都支持。
            --switch(a){
                    case 1:
                    break;
                    case 2:
                    break;
                    default:
                      ... ...
                  }
    --循環語句: for 、 while 、 do-while:與java中的用法一致。

      其中, i++ 和 ++i 和java中是一樣的。



5、js的運算符
    ** += : x+=y; 等於: x=x+y;

    **js裏面不區分整數和小數
        var j = 123;
        alert(j/1000*1000);
      --java中,結果為:0
      --js中, 結果為:123

    **js中的字符串的相加和相減的操作
        var str = "123";

        ***在相加的時候,做的是字符串的連接。
        ***在相減的時候,做的是減法運算。

        如: alert(str+1)//結果為1231.
         alert(str-1)//結果為122.

      住意:當str不是一個數字的時候,減法運算會提示錯誤。
          var str = "abc";
          alert(str-1);//結果為:提示NaN: 表示這不是一個數字。

    **boolean也可以進行數學運算
        ***如果設置成 true ,進行數學運算的時候,相當於值為:1
        ***如果設置成 false ,進行數學運算的時候,相當於值為: 0

    ** == 和 === 的區別
          他們都是用來做相等判斷的,
        *** == 比較的是 值
        *** === 比較的是 值 和 類型
          如: var i = "5";
              i==5 為: true
              i===5 為: false。


6、九九乘法表的練習(輸出到頁面)
    *使用: document.write()輸出到頁面上。
      document.write可以輸出變量,也可以輸出html代碼(加雙引號)
      document.write裏面是雙引號,裏面的標簽屬性必須使用雙引號。


7、javascript的數組
    --與java不同,js是弱類型的語言,數組中可以存放不同類型的值。
    --java數組定義: int[] arr = {1,2,3};

    --js數組定義方式(三種):
        第一種: var arr = [1,2,3] || var arr = [1,"2",true]
        第二種: 使用內置對象 Array,
            var arr = new Array(5); //定義了一個長度為5的數組。
            arr[0] = "1"; arr[1] = 2; arr[2] = true;

        第三種: 使用內置對象 Araay,
            var arr = new Array(3,"4",true);//定義一個數組,其中值為:3,4,true

    --數組中有一個屬性 length: 獲得數組的長度。

    --數組的長度是可變的。(與java數組進行區分)

    --數組可以存放不同類型的值(與 java 數組進行區分)


8、js中的方法

    **在java中定義方法:
        修飾詞 返回值類型 方法名(參數列表){
          方法體;
          返回值;
        }
          public int add(int a, int b){
              int sum = a+b;
              return sum;
          }

    **在js中定義方法,有三種方式:
        第一種方式:
          ***使用一個關鍵字 function
          ***function 方法名(參數列表){
                方法體;
                返回值(視需求,可有可無);
            }
              for example:
                    function add(a ,b,c){
                      var sum = a+b+c;
                      return sum;
                    }
              (調用方法名,使用定義的方法)

    第二種方式:
        匿名方法。
        *** var 變量名 = function(參數列表){
                方法體;
                返回值;
          }
            如:
              var add = funtion(a,b){
                  var sum = a+b;
                  return sum;
                }
              (之後使用變量名調用方法)

    第三種方式:
        ***動態方法。
        ***使用一個js的內置對象 Function
          var 變量名 = new Function("參數列表","方法體 和 返回值"); (註意,參數和方法體之間是逗號)
              var add = new Function("a,b", "var sum=a+b; return sum");
                (之後使用變量名調用函數)
            ****註意,此方式中,可以預先定義好參數列表,和方法體與方法名,在定義方法的時候直接傳進來。

9、js的全局變量, 和局部變量
    **全局變量: 在script標簽裏面定義的一個變量,這個變量在頁面中js部分都可以使用
          --在方法外部使用, 在方法內部使用, 在另一個scipt標簽裏使用。

    **局部變量: 在方法內部定義的一個變量,只能在在方法內部使用。
          --如果在方法外部使用,則會提示出錯。
            --SCRIPT5009: "nn"未定義
             12-js的局部變量.html,行18 字符3

    **ie(火狐)自帶了一個調試工具,ie8及其以上版本,按F12,在頁面下方出現調試欄。

10、script標簽可以放的位置

    **按照格式來說, script標簽可以放在任何位置(head,body,甚至是html外)

    **但是,在開發中,為了能順利和htnl代碼結合,最好放在:</body> 的後面。

        原因:如果script語句中要使用body中的 (如<input type="text"/>中的)值 ,
           而script本shent在head中,那麽就會出問題,
           html是從上到下進行解析的,此時,script中要使用body中
           的值,但是還沒有解析到body,就拿不到這個值。
        所以:建議script放在</body>得後面。

11、js方法的重載

    **js中沒有重載,在有多個同名但是不同參數的方法時,按照解析順序,調用方法處使用
      其上面的離其最近的 定義的方法。(如果參數不合,就會報錯: NaN)

javascript學習一、js的初步了解