JS入門熟知

來源:互聯網
上載者:User

標籤:繼承   保留   首碼   第一個   區分   系統   eof   區分大小寫   本地   

JS是物件導向的語言

  1. 封裝
  2. 繼承
  3. 多態
  4. 聚集(對象中具有引用其他對象的能力)

JS使用中絕大多數情況不需要進行物件導向的設計,很多情況是使用已經設計好,準備好的對象,基於對象的語言.

JS的使用(引入)

  1. jsp、html中直接在script標籤中書寫
  2. 在script標籤中引入

  注意: 

    1. script 標籤位置任意. 但是位置越靠前,執行越早.(重要)
    2. js 外部檔案推薦副檔名是.js.但是其實任何尾碼名都可以.
    3. 使用script標籤引入外部檔案,那麼該script標籤中就不要書寫js代碼了.

JS的基本文法

  • 變數聲明

   變數聲明使用var,變數區分大小寫 str 和 STR 不是同一個變數. 字串使用雙引號("")或單引號(‘‘)包裹都可以.變數的類型可以隨時改變.命名規則是匈牙利標記法.

    var str = 1; var str = "Hello";  //兩者之間沒有任何區別

  • 行尾使用 ";" 作為一行的結束符號.(可以沒有";", 以折行符(斷行符號)作為一行的結尾.)(不推薦)  
  • js 中的注釋有兩種單行,多行

    單行注釋"//"  多行注釋 "/* */"

  • 封裝代碼塊與 java 一樣,使用{}.
  • 變數聲明時, 首碼 var 也不是必須的.
      加var 和 不加 var 有什麼區別? 如果不使用var,那麼該變數是全域變數

JS的類型

  js中類型分為兩種

    1. 未經處理資料類型
    2. 對象資料類型

  java中 基礎資料型別 (Elementary Data Type)有 byte short int long float double boolean char
  js中 未經處理資料類型有     number(數字,浮點型,整型)
             string(js語言的突破,沒有char類型.)
             boolean
             null (用來標示引用資料類型的預留位置.通常都是人為賦值.)var person = null;
             undefined (由null衍生出來的值,是當我們聲明一個變數,)
                1.沒有給該變數初始化值,那麼系統會預設賦值為undefined
                2.函數中沒有傳回值,那麼預設返回undefined
  未經處理資料類型 判斷符:
    typeof  用來判斷一個變數是哪種原始類型的.
    null會返回object, 是js中的一個bug,這個bug 被認為很貼切.所以保留了該bug.

JS中的語句

  java中有迴圈: for while-do do-while
     有判斷: if switch
  js中語句 與java中一模一樣!

  特殊: java中的增強for迴圈在js中沒有.
  js中有for(var xx in xx) 語句.  用的很少,用來遍曆對象的屬性.

JS中運算子

  一元運算子
    一元加法,減法  
      var a = +1;
      var b = -1;
    在js中的進階應用程式.
      var c = +"1";   //進行類型轉換
      var d = +"abc";   // 轉換失敗,返回number中的特殊值 NaN.

  Boolean 運算子 ! && ||
  js中自動類型轉換. 轉換規律 (重點)
    string  ==> "" 轉換為false 其他都為true;
    number ==> 除了NaN,+0和-0.其他都轉換為true.
    null ==> false
    undefined ==> false
    NaN特性:
      NaN參與的任何boolean運算傳回值都是false. 除了!=,因為undefined是null衍生出的,所以 alert(undefined == null);// true
  比較子

    alert(11>3);  //true
    當運算子兩端 , 一端是數字,一端是其他類型時, 其他類型會自動向數字類型轉換
      alert("11">3);  // true
      alert(11>"3");  //true
    字串在進行比較時 ,規律是: 比較首字元asc碼. 如果一樣,比較第2位...
      alert("11">"3");  // false
      alert("11">"1");  // true
      alert("abc">11);  //false

    等性運算子 == != ===
    全等於: === 比較時包括類型.

ECMAScript中的對象

  1. Object  是所有對象的超類.
  2. Function對象以及Function的建立
    1. var fun1 = new Function("a","b","alert(a+b);");
    2. var fun2 = function (a,b){alert(a+b);}
    3. function fun3(a,b){alert(a+b)}    
  3. Function的調用
  4. js中函數的調用只看函數名稱.調用時內建對象arguments, arguments代表函數運行期間實際參數列表.
      arguments.length  實際參數個數
      arguments[0]   第一個參數.
      應用: arguments 實現函數的重載.
  5.  函數的返回
    1. 如果函數沒有顯示指定傳回值,那麼函數傳回值為undefined.
    2. 使用return關鍵字,返回內容
    3. return 關鍵字,在js中也可以作為結束方法啟動並執行功能.
    4. void運算子的應用.

ECMAScript中對對象的分類

  1. 本機物件
    內建對象   不需要建立執行個體.直接使用 Global Math
    主機對象   DOM BOM 兩部分.
    ECMAScript中3個封裝對象.
      String Number Boolean
    偽對象: string number boolean 這3個原始類型可以看作是偽對象, 能直接調用封裝對象的方法和屬性.
      String對象屬性length
    重要的方法
      indexOf
      lastIndexOf
      charAt
      alert(str1.charAt(0));  //a
      charCodeAt 返回所在字元的asc碼
      alert(str1.charCodeAt(0));  //97
      subString
      alert(str1.substring(0, 1));  //a
      slice 支援負數. 從右往左.
      alert(str1.slice(0, -1));  //a
    與正則結合的方法
      split
     
     replace
      match
      search

   Global對象

 

JS入門熟知

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.