xzh_loop 2014-09-01 07:22 采纳率: 0%
浏览 811

jQuery.fn到底是个什么东西?

看jq的源码可以看到它的定义,jQuery.fn = jQuery.prototype = { ... },我用console.log()输出它,看到的样子是这样的:

[constructor: function, init: function, selector: "", jquery: "1.7.1", size: function…]
_toggle: function ( fn ) {
add: function ( selector, context ) {
...

注意到第一行是由[]括起来的,它明明是个对象({})!
接着,我仿造它前面的var jQuery = (function(){ ... })();这一大块写了下基本结构,输出xx.fn的结果是

Object {constructor: function, init: function, version: "0.1.0", length: 0, extend: function}

可能有些地方还没理解透,望能指导一下,不知有没有看懂我说的,先谢谢了!

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 13:32
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    jQuery.fn是一个全局函数,它是jQuery的原型对象。jQuery.fn实际上是jQuery.prototype的一个属性。

    当你在JavaScript中使用jQuery时,实际上是在调用jQuery.fn来获取jQuery.prototype的对象。例如:

    var $element = $('#my-element');
    // 使用jQuery对象的方法
    $element.css('color', 'red');
    

    在这个例子中,$elementjQuery对象,而$('#my-element')就是这个jQuery对象对元素的引用。通过这种方式,你可以访问到jQuery的所有方法和属性。

    jQuery.fn的实现如下:

    var jQuery = (function () {
        var prototype = {};
        // ...
    })();
    

    这行代码创建了一个名为jQuery的匿名对象,并且将prototype设置为一个空对象。然后,你就可以像这样使用jQuery的原型:

    var element = document.createElement('div');
    jQuery(element);
    

    在这个例子中,jQuery被用来创建一个新的DOM节点。

    评论

报告相同问题?