zoukankan      html  css  js  c++  java
  • 理解jQuery的$.extend与$.fn.extend

    https://www.cnblogs.com/xuxiuyu/p/5989743.html

    上面这篇博客总结的很棒!!,以下对自己的认识做一个总结

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>理解$.extend与$.fn.extend</title>
    <script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
    <style>
    </style>
    <script type="text/javascript">
        (function($) {
            $.extend({
                speak : function() {
                    alert("how are you!");
                }
            });
            $.fn.extend({
                say : function() {
                    alert("hello!");
                }
            });
        })(jQuery);
        
        $(function(){
            $.speak();
            $("#myDiV").say();
        })
    </script>
    </head>
    <body>
        <div id="myDiv"></div>
    </body>
    </html>

    将jquery理解为一个类,那么$.extend则会给这些类加上静态方法,扩展的是jquery这个类。

    $.speak就只有$可以调用,而$("#myDiv")就不可以调用.speak()这个方法,正好比把jquery代表人类这个类,它可以吃喝笑跑,现在给它加上speak的功能,张三李四王五又不能代表全人类所以不能调用$.speak()方法

    jQuery.extend(object); 为扩展jQuery类本身,为自身添加新的方法。

    $.fn.extend就是给类的实例化对象加方法,比如div实例化为jquery对象后都可以调用.say()方法

    $.fn.extend中,$是jquery的别名,fn是javascript中propotype的别名

    $.fn.extend主要用于写插件,绝大部分插件都是去使用它

    $.extend适用去去给jquery写一些init(),destroy()等方法

  • 相关阅读:
    执行.class文件
    Ant能干什么,编译?打包!
    C的随想
    微服务
    2018年宝鸡市高考复课报告会材料
    用图像解不等式
    高频易错题目01
    2018年宝鸡市二检数学题目解答
    点差法
    和事件的概率求法
  • 原文地址:https://www.cnblogs.com/zengcongcong/p/10716870.html
Copyright © 2011-2022 走看看