搜索
javascript - 关于jquery实现$与$()的问题
巴扎黑
巴扎黑 2017-04-10 16:32:00
[JavaScript讨论组]

jq的$有$('选择器')与$.xxx这样的写法,我现在只实现了$()链式调用,但是$.ajax这种如果实现?

看来我写得长大家理解都有问题,这次短点.

巴扎黑
巴扎黑

全部回复(5)
ringa_lee

1)$是jQuery对象的简写标识符
2) $(),调用了jQuery的构造函数
3)$.ajax调用了jQuery对象的一个函数

例如简单的示例

var mQuery=(function(){
    function OBJ(selector){
        if(!(this instanceof OBJ)){
            return new OBJ(selector);
        }
        this.selector= selector;
    }

    OBJ.prototype.play=function(){
        console.log('play on '+this. selector);
        return this;
    };

    OBJ.myFunc=function(){
        console.log("myFunc");
    };
    return OBJ;
}());

(function($){
    $('myselector').play();
    $.myFunc();
}(mQuery));
高洛峰

直接用不就可以了吗?移动端就用zeptojs

天蓬老师

这样重新封装一次有什么意义呢?jQuery的使用已经非常简单了,如果看jQuery源码都有困难的话,不如直接使用来的方便。

PHPz

很简单的,首先,jquery的入口函数是不用new操作的,函数名是jquery,一样一来就可以在这个jquery增加继承属于方法了,值得注意的,入口函数不能new操作才行,如果new操作后这些继承就没有用了。
手机打字很累,需要例子我再复制给你

ringa_lee

ajax说到底是一个xmlhttprequest对象在起作用,不过不同浏览器兼容性不好,个人认为自己封装的话,如果做不到像jq那样兼容各大浏览器,那还是使用$.ajax()吧。。。
而你说到这个$.ajax。。。实际上相当于一个这样的构造函数:

function $(select){
    return new JQ(select);
}
function JQ(){
   ....
}
JQ.prototype={
   ....
   ajax:function(....){
      ....
   },
   ....
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号