javascript - jQuery和jquery有什么区别
高洛峰
高洛峰 2017-04-10 17:51:13
0
10
1087

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(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代替$,比如$('.p').addClass()可以写成jQuery('.p').addClass()

参考资料:

  • jquery百度百科

  • 驼峰命名法百度百科

  • jquery源码分析

いいねを押す +0
PHPzhong

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

いいねを押す +0
PHPzhong

不用切换大小写

いいねを押す +0
Peter_Zhu

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

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

いいねを押す +0
大家讲道理

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

いいねを押す +0
PHPzhong

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
黄舟

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

いいねを押す +0
Ty80

难道是说这里: jQuery 2.0.3源码

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

    constructor: jQuery,
いいねを押す +0
阿神

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

いいねを押す +0
大家讲道理

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
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート