jQuery 核心02

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); // 输出当前的属性名,从而得知遍历顺序是从内向外的,
                  // 最后一个属性名会是个空字符串。                  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它是另一种优秀,也许开始接触是因为那几行代码就可以出现的丰富交互效果,后来接触数据同样激动,最后愿所有学习者都可以触类旁通

时间: 2024-08-19 01:48:51

jQuery 核心02的相关文章

jQuery核心之 $

参考jQuery官网API文档 $ 和 $() 的区别很重要: 1.$(document).ready() 和 $(document).load() 的 区别: 前者等到DOM准备好了之后就会触发,后者必须等到整个网页(包括图片,iframe)准备好了才触发. $(function(){ alert("hello jquery"); }); 是 $(document).ready(function(){ alert("hello jquery"); })的缩写. 2

jQuery核心之DOM操作的常用方法

参考jQuery官网API文档 1..attr() 获取 : $( "a" ).attr( "href" ); 设置: $( "a" ).attr( "href", "allMyHrefsAreTheSameNow.html" ); $( "a" ).attr({ title: "all titles are the same too!", href: "s

jQuery 核心

1.each(callback) 以每一个匹配的元素作为上下文来执行一个函数.意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素).而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型). 返回 'false' 将停止循环 (就像在普通的循环中使用 'break').返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue'). 参数:callba

Jquery核心函数

在Jquery中,所有的DOM对象都将封装成Jquery对象,而且只有Jquery对象才能使用Jquery方法或者属性来执行相应的操作. 所以Jquery提供了一个可以将DOM对象封装成Jquery对象的函数,就是Jquery核心函数jquery(),也称为工厂函数. jquery核心函数有7个重载,分别如下: jquery()  该函数返回一个空的jquery对象. jquery(elements)  该函数将一个或多个DOM元素转化为Jquery对象(或jquery集合) jquery(ca

jQuery核心之那些有效的方法

jQuery提供了一些很有效的方法,这些方法都在$命名空间之下,对常规的编码很有帮助,完整的api详见:utilities documentation on api.jquery.com $.trim():删除多余的空格: // Returns "lots of extra whitespace" $.trim( " lots of extra whitespace " ); $.each() : 遍历数组和对象: $.each([ "foo",

jQuery核心之jQuery Object及其相关的常用方法

1.jQuery Object 和 原生的DOM对象之间有许多方法是不一样的,用jQuery的方法大部分情况下返回的是jQuery Object,但是jQuery也提供了一些方法可以很轻松的获取原生的DOM对象. 先来看:获取jQuery Object之一, // Selecting only the first <h1> element on the page (in a jQuery object) var headings = $( "h1" ); var first

jQuery 核心 - noConflict() 方法

摘录自W3School>> jQuery 核心参考手册 实例 使用 noConflict() 方法为 jQuery 变量规定新的名称: var jq=$.noConflict(); 定义和用法 noConflict() 方法让渡变量 $ 的 jQuery 控制权. 该方法释放 jQuery 对 $ 变量的控制. 该方法也可用于为 jQuery 变量规定新的自定义名称. 提示:在其他 JavaScript 库为其函数使用 $ 时,该方法很有用. 语法 jQuery.noConflict(remo

JQuery 核心函数 基础研究与提高

前言 jquery对于一个程序员来说,或多或少都听过.相信很多人在项目中也都用过.现在也有很多开源的库都是依赖于jQuery,因此熟悉jQuery还是很有必要的.使用熟练的大神可以简单看看,对于小白来说还是纯纯的干货.熟悉jQuery还是先从核心函数入手比较好,后面其他的功能都是在此核心函数的基础上扩展的. jQuery 核心函数 jQuery(expression, [context]) jQuery(html, [ownerDocument]) jQuery(html, props) jQu

jquery核心功能分析

作者:zccst 核心功能包括: jQuery是如何定义的,如何调用的,如何扩展的.掌握核心方法是如何实现的,是理解jQuery源码的关键.这里理解了一切豁然开朗. 1,如何定义,即入口 // Define a local copy of jQueryvar jQuery = function( selector, context ) {    // The jQuery object is actually just the init constructor 'enhanced'    ret