jQuery 核心02

來源:互聯網
上載者:User

標籤:array   類型   語言   log   text   nod   互動   return   ext   

jQuery.merge( first,second )

  • $.merge合并兩個數組,會將second數組添加到frist數組中,second數組保持不變,frist數組輸出內容被改變。
  • 如果不想改變first數組輸出結果,可採用$.merge( [],first ),空數組與first數組合并擁有first的內容,first數組保持原有狀態。

不進行$.merge( [],first )操作:

var first = [‘a‘,‘b‘,‘c‘];var second = [‘d‘,‘e‘,‘f‘];var newArray =$.merge( first, second);console.log(newArray);        //    ["a", "b", "c", "d", "e", "f"]var first = [‘a‘,‘b‘,‘c‘];var second = [‘d‘,‘e‘,‘f‘];var newArray =$.merge( first, second);console.log(first);              //      ["a", "b", "c", "d", "e", "f"]var first = [‘a‘,‘b‘,‘c‘];var second = [‘d‘,‘e‘,‘f‘];var newArray =$.merge( first, second);console.log(second);           // ["d", "e", "f"]

進行$.merge( [],first )操作:

var first = [‘a‘,‘b‘,‘c‘];var second = [‘d‘,‘e‘,‘f‘];var newArray =$.merge( $.merge([],first), second);console.log(newArray);           // ["a", "b", "c", "d", "e", "f"]var first = [‘a‘,‘b‘,‘c‘];var second = [‘d‘,‘e‘,‘f‘];var k =$.merge( $.merge([],first), second);console.log(first);                  //  ["a", "b", "c"]var first = [‘a‘,‘b‘,‘c‘];var second = [‘d‘,‘e‘,‘f‘];var k =$.merge( $.merge([],first), second);console.log(second);                 //  ["d", "e", "f"]

相信通過上面的代碼已經對 $.merge( first,second ) 和 $.merge( [],first ) 有了直觀的認識,剩下的就是實踐。

jQuery.noop()

  • 此方法不接受任何參數。
  • 沒有傳回值(也可視作返回undefined)。
  • 函數的原始碼:noop: function() {}
var result = $.map( [1, 2, 3], $.noop );console.log(result);       // []var arr = $.map([1, 2, 3 , 4], function(a) {        return a + a;});console.log(arr);          // [2, 4, 6, 8]

通過上例對 $.noop 理解相信已經瞭然於胸。

jQuery.now()

  • 這個方法不接受任何參數。
  • $.now() 方法是運算式 ( new Date ).getTime() 傳回值的一個簡寫。

jQuery.parseHTML( data[,context ][,keepScripts] )

使用原生方法將字串轉換為一個DOM節點的集合,然後插入到文檔。

<!doctype html><html lang="en"><head>    <meta charset="utf-8">    <title>jQuery.extend demo</title>    <script src="https://code.jquery.com/jquery-1.10.2.js"></script></head><body>    <div id="log">        <h3>Content:</h3>    </div>    <script>    var $log = $("#log"),        str = "hello, <b>my name is</b> jQuery.",        parse = $.parseHTML(str),        nodeNames = [];    $log.append(parse);    $.each(parse, function(i, el) {        nodeNames[i] = "<li>" + el.nodeName + "</li>";    });    $log.append("<h3>Node Names:</h3>");    $("<ol></ol>")        .append(nodeNames.join(""))        .appendTo($log);    </script></body></html>

el.nodeName 擷取節點名,放入數組,採用join() 方法把數組中所有元素放到字串,然後插入DOM 

jQuery.parseJSON( json )

  • 接受一個標準格式的JSON字串,並返回解析後的JavaScript值。
  • 從jQuery3.0開始,以不推薦使用,推薦 JSON.parse() 方法。

JSON.parse( text[,reviver] ):

JSON.parse(‘{"1": 1, "2": 2,"3": {"4": 4, "5": {"6": 6}}}‘, function (k, v) {    console.log(k); // 輸出當前的屬性名稱,從而得知遍曆順序是從內向外的,                  // 最後一個屬性名稱會是個Null 字元串。                  1,2,4,6,5,3,空    return v;      // 返回原始屬性值,相當於沒有傳遞 reviver 參數。    Object {1: 1, 2: 2, 3: Object}});

jQuery.parseXML()

  • 使用原生解析函數瀏覽器建立一個有效XML文檔。
  • 函數的傳回值為XMLDocument類型,返回解析後的XML文檔對象。

jQuery.proxy()

  • $.proxy 方法接受一個已有的函數,並返回一個帶特定內容相關的新的函數。
  • 該方法通常用於向上下文指向不同對象的元素添加事件。
  • 如果您綁定從 $.proxy 返回的函數,jQuery 仍然可以通過傳遞的原先的函數取消綁定正確的函數。
<!doctype html><html lang="en"><head>    <meta charset="utf-8">    <title>jQuery.extend demo</title>    <script src="https://code.jquery.com/jquery-1.10.2.js"></script></head><body>    <button>執行 test 函數</button>    <p></p>    <script>        $(document).ready(function(){          var objPerson = {            name: "John Doe",            age: 32,            test: function(){              $("p").after("Name: " + this.name + "<br> Age: " + this.age);            }          };          $("button").click($.proxy(objPerson,"test"));        });    </script></body></html>

jQuery.trim()

  • 去掉字串起始和結尾的空格。
  • 如果這些空白字元在字串中間時,它們將被保留,不會被移除。
$.trim("    hello, how are you?    ");     // "hello, how are you?"

 

學習一門語言也如王國維所講的‘人生三境界’。對於 jQuery 的學習需要深入更深入。因為相較於原生JS它是另一種優秀,也許開始接觸是因為那幾行代碼就可以出現的豐富互動效果,後來接觸資料同樣激動,最後願所有學習者都可以觸類旁通

jQuery 核心02

相關文章

聯繫我們

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