zoukankan      html  css  js  c++  java
  • jquery的-extend函数

    js的浅拷贝与深拷贝:

    浅拷贝:JS中引用类型使用等号“=” 赋值,相当于把原来对象的地址拷贝一份给新的对象,这样原来旧的对象与新的对象就指向同一个地址,改变其中一个对象就会影响另外那个对象,也就是所谓的浅拷贝。

    深拷贝:所谓”深拷贝”,就是能够实现真正意义上的数组和对象的拷贝。它的实现并不难,只要递归调用”浅拷贝”就行了。指向不同的地址。

    3.代码示例:http://api.jquery.com/jQuery.extend/#jQuery-extend-target-object1-objectN

    <!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"></div>
     
    <script>
    var object1 = {
    apple: 0,
    banana: { weight: 52, price: 100 },
    cherry: 97
    };
    var object2 = {
    banana: { price: 200 },
    durian: 100
    };
     
    // Merge object2 into object1
    $.extend( object1, object2 );
     
    // Assuming JSON.stringify - not available in IE<8
    $( "#log" ).append( JSON.stringify( object1 ) );
    </script>
     
    </body>
    </html>
     
    <!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"></div>
     
    <script>
    var object1 = {
    apple: 0,
    banana: { weight: 52, price: 100 },
    cherry: 97
    };
    var object2 = {
    banana: { price: 200 },
    durian: 100
    };
     
    // Merge object2 into object1, recursively
    $.extend( true, object1, object2 );
     
    // Assuming JSON.stringify - not available in IE<8
    $( "#log" ).append( JSON.stringify( object1 ) );
    </script>
     
    </body>
    </html>
     
    <!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"></div>
     
    <script>
    var defaults = { validate: false, limit: 5, name: "foo" };
    var options = { validate: true, name: "bar" };
     
    // Merge defaults and options, without modifying defaults
    var settings = $.extend( {}, defaults, options );
     
    // Assuming JSON.stringify - not available in IE<8
    $( "#log" ).append( "<div><b>defaults -- </b>" + JSON.stringify( defaults ) + "</div>" );
    $( "#log" ).append( "<div><b>options -- </b>" + JSON.stringify( options ) + "</div>" );
    $( "#log" ).append( "<div><b>settings -- </b>" + JSON.stringify( settings ) + "</div>" );
    </script>
     
    </body>
    </html>

    3.源码

  • 相关阅读:
    格式布局
    tp框架之文件上传
    tp框架之验证码
    tp框架之自动验证表单
    tp框架之留言板练习
    tp框架之session
    tp框架之登录验证
    tp框架之函数调用
    tp框架之分页与第三方类的应用
    tp框架之AJAX
  • 原文地址:https://www.cnblogs.com/Zara/p/6644255.html
Copyright © 2011-2022 走看看