jQuery和jquery有什么区别

经常看到此jquery不是此jQuery,不知有啥区别?

阅读 9.6k
10 个回答

题主问这个问题说明题主比较善于思考的,有好奇心,点个赞。
我根据个人理解,提供一些见解(抛砖引玉下):
1、首先这里的jquery就是jquery.js的化名而已,不做详解。
2、但这里的jQuery就不一样了,首先,为什么要写成jQuery?而不是Jquery,也不是jquEry,根据个人推测,这里的jQuery,用的是驼峰命名法,是javaScript表示函数名的一种写法,其中j可能是指javascript或jquery之父john resig的首个字母,后面的query意即查询的意思。这里说jQuery是jquery源码中函数命名,打开jquery源码来佐证一二。

(function(window, undefined) {
    var jQuery = function( selector, context ) {
    // 省略部分代码     
    }

    window.jQuery = window.$ = jQuery;
    
})(window);

在上面这段单独拿出来的jquery源码中,我们可以看到作者用var jQuery = function(){}的形式声明了一个函数表达式(在jquery源码中,jQuery是jquery的核心类,这里不做过多解释,可以看jquery源码分析的相关文章)。所以在这里佐证了关于jQuery是jquery中函数命名的猜想。说了为什么写成jQuery,再聊一下为什么要写jQuery,在这段代码window.jQuery = window.$ = jQuery;中,可以看到,我们用外部全局变量windowjQuery附加到其上做为属性,意思是指把jQuery声明成一个全局变量,因为在JavaScript中,自定义的全局变量都是window的属性,这里同时把jQuery$提升为全局变量,是因为在JavaScript中为了避免用$出现了全局污染,因为有很多JavaScript库也会把$作为简写,当用$全局变量出现变量冲突时,可以用jQuery代替$,比如$('.div').addClass()可以写成jQuery('.div').addClass()

参考资料:

不用切换大小写

新手上路,请多包涵

你问的可能是jQuery UI 与 jquery 的区别吧.
主要区别是:  

 (1) jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。  
 (2) jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等。  
 (3) jQuery本身注重于后台,没有漂亮的界面,而jQuery UI则补充了前者的不足,他提供了华丽的展示界面,使人更容易接受。既有强大的后台,又有华丽的前台。jQuery UI是jQuery插件,只不过专指由jQuery官方维护的UI方向的插件。

楼主也许想知道的是
jquery指的是js库本身,就是常常看到的那个js文件,引入的文件。
jQuery指的是jquery里面的函数,也就是经常我们用jquery的时候用的那个$
因为再可能导致冲突的情况下,我们用jQuery来替代‘$’这个符号。

jQuery官网

What is jQuery?


jQuery is a fast, small, and feature-rich JavaScript library. It makes
things like HTML document traversal and manipulation, event handling,
animation, and Ajax much simpler with an easy-to-use API that works
across a multitude of browsers. With a combination of versatility and
extensibility, jQuery has changed the way that millions of people
write JavaScript.

其实他两之间最大的区别就是,有一个第二个字母大写了。。。。。。。。。。。。

难道是说这里: jQuery 2.0.3源码

jQuery.fn = jQuery.prototype = {
    // The current version of jQuery being used
    jquery: core_version,

    constructor: jQuery,

JS里函数名区分大小写,跟PHP不同,所以在编程时只能写作jQuery,$jQuery的别名,你也可以自定义,比如你很爱PHP的话,可以用php作为jQuery的别名:

(function(php){
    php(function(){
        php.each({k0: "v0", k1: "v1"}, function(k, v){
            console.log("键:"+k+" 值:"+v);
        });
    });
})(jQuery);
键:k0 值:v0
键:k1 值:v1
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题