ZHANGPENGYE007
男怕选错行
采纳率9.1%
2018-11-17 06:52

jQuery语法解析,谢谢各位JS大牛能给我解答问题

20

图片说明为啥会报这个错呢,我想在函数中调用init,但是我看到原型里面有这个方法,为啥不能调用吗,顺序问题吗真心求教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • jslang 天际的海浪 3年前

    init是aQuery这个Function对象原型(prototype)上的方法(也就是面向对象语言中的成员方法)。不能通过aQuery这个Function对象来调用。
    需要通过new aQuery()创建实例对象。用 实例对象.init() 来调用,或是在aQuery构造函数中用this.init() 来调用。

    var aQuery = function () {
        this.init(3);
    };
    aQuery.prototype = {
        init: function (n) {
            alert(n+5);
        }
    }
    var obj = new aQuery();
    obj.init(4);
    
    

    如果你是模仿jQuery语法,人家jQuery是用 jQuery.fn.init 调用,也就是jQuery.prototype.init

     var jQuery = function( selector, context ) {
        // The jQuery object is actually just the init constructor 'enhanced'
        return new jQuery.fn.init( selector, context, rootjQuery );
    }
    jQuery.fn = jQuery.prototype = {
        init: function( selector, context, rootjQuery ) {
    
        }
    }
    jQuery()
    
    
    点赞 评论 复制链接分享
  • dabocaiqq dabocaiqq 3年前
    点赞 评论 复制链接分享

相关推荐