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

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

2个回答

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()

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐