標籤: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