Javascript基礎(3)正則、JSON、函數簡介

1.正則表達式:
①由模式和修飾符構成:/this/i this就是模式,i表示不區分大小寫。這個作爲搜索包含this字符串的正則
②字符串可以用match()、search()和replace()方法來使用正則表達式:

        var str = "Visit Microsoft!";
        var res = str.replace(/microsoft/i, "apple"); //將microsoft替換apple
   或者:var res = str.replace("microsoft","apple");   //這個替換時區分大小寫

③常見的修飾符包括:i(不區分大小寫)、g(全局匹配,而不是找到一個就停止查找)、m(多行匹配)
④常見的正則模式:[abc]、[0-9]、\d、\s、\b、n+、n*、n?等等

2. 正則表達式對象:RegExp
含有兩個方法:
①test() 方法用於檢測一個字符串是否匹配某個模式,如果字符串中含有匹配的文本,則返回true,否則返回false
②exec() 該函數返回一個數組,其中存放匹配的結果。如果未找到匹配,則返回值爲 null

   舉例:var patt = /e/;
            patt.test("The best things in life are free!");
     可以再簡化爲:/e/.test("The best things in life are fress!");   //返回值是true
另外:
http://www.W3Cfuns.com  提供了常見的需要用到的正則表達式

3.JavaScript中也支持採用 throw 或 try-catch 來處理程序錯誤。其中throw 語句允許我們創建自定義錯誤
詳細用法參考:http://www.w3cschool.cc/js/js-errors.html

4.JavaScript調試方法,按F12,console:
①代碼中支持console.log(“輸出到控制檯的內容”) 方法
②debugger關鍵字:可停止執行JavaScript,並調用調試函數,這個關鍵字與在調試工具中設置斷點的效果一樣

6.表單中郵箱驗證的一種新方法:
判斷輸入的字符串中 @ 和 . 連個符號的索引位置,其中@不能爲首,且@之後必須有一個.號。

   舉例:var x=document.forms["myForm"]["email"].value;    
        var atpos=x.indexOf("@");
        var dotpos=x.lastIndexOf(".");
        if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){}

7.JSON(JavaScript Object Notation),用於存儲和傳輸數據格式
JSON 的格式是一個文本,然後可以被其他編程語言讀取爲數據格式傳遞
JSON 的語法規則是:鍵/值對,注意:鍵需要在雙引號中

8.javascript:void() 表示的是 執行括號中的表達式,單不返回任何值
注意:href='#' 與 href='javascript:void(0)'的區別是:
#號包含了一個位置詳細,默認是錨 #top,也就是網頁的上端,而javascript:void(0)代表一個死鏈接

9.JavaScript中函數可以存儲在一個變量中,被存儲的那個變量可以作爲函

    var x = function (a, b) {return a * b};//這實際上是一個匿名函數
    var z = x(4, 3);   
    //z的值就是12以上代碼效果和下面的一致,Function是JavaScript內置的函數構造器,但應儘量別用new關鍵字!!!
    var x = new Function("a","b","return a*b");
    var z = x(4,3);

10.如果表達式後面緊跟 () ,則函數變爲一個自調用函數。如:

    (function () {
            var x = "Hello!!";      // 我將調用自己
    })();

11.函數本質是一個對象,擁有對象的屬性和方法,如果將 函數名.toString(); //會將整個函數體作爲字符串返回

12.如果函數在調用時缺少參數,參數的值會默認設置爲: undefined
JavaScript 函數有個內置的對象 arguments.函數的所有參數都放在arguments數組中,
可以通過arguments[i]來訪問參數
注意:如果函數修改參數,不會修改參數的初始值(在函數外定義);但是:
如果參數是對象類型的,我們在函數內部修改對象的屬性就會修改其初始的值了

13.在HTML中默認的全局對象是HTML頁面本身,在瀏覽器中的頁面對象是瀏覽器窗口(window 對象)。
所有沒有指定對象的函數會自動變爲 window 對象的函數,這時候某個 myFunction() 和
window.myFunction() 一致。
單全局變量 或 函數可能會帶來重名的危險,所以最好別這麼做
更多關於函數的知識:如call() 和 apply() 方法等等
參見:http://www.w3cschool.cc/js/js-function-invocation.html

13.* 閉包是可訪問上一層函數作用域裏變量的函數,即便上一層函數已經關閉 *

發佈了41 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章