搜索

首页  >  问答  >  正文

javascript - jQuery和jquery有什么区别

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

高洛峰高洛峰2813 天前1082

全部回复(10)我来回复

  • 迷茫

    迷茫2017-04-10 17:53:13

    题主问这个问题说明题主比较善于思考的,有好奇心,点个赞。
    我根据个人理解,提供一些见解(抛砖引玉下):
    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代替$,比如$('.p').addClass()可以写成jQuery('.p').addClass()

    参考资料:

    • jquery百度百科

    • 驼峰命名法百度百科

    • jquery源码分析

    回复
    0
  • PHPz

    PHPz2017-04-10 17:53:13

    npm里面jquery和jQuery是不一样的 说的是这个吧?
    jQuery是node.js用的https://www.npmjs.com/package...
    jquery是浏览器用的https://www.npmjs.com/package...

    回复
    0
  • PHPz

    PHPz2017-04-10 17:53:13

    不用切换大小写

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-10 17:53:13

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

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

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-10 17:53:13

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

    回复
    0
  • PHPz

    PHPz2017-04-10 17:53:13

    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.

    回复
    0
  • 黄舟

    黄舟2017-04-10 17:53:13

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

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 17:53:13

    难道是说这里: jQuery 2.0.3源码

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

    回复
    0
  • 阿神

    阿神2017-04-10 17:53:13

    Query是node.js用的https://www.npmjs.com/package...
    jquery是浏览器用的https://www.npmjs.com/package...

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-10 17:53:13

    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

    回复
    0
  • 取消回复