【三十九】jQuery

你可能听说过jQuery,它的名字起得很土,但却是JavaScript世界中使用最广泛的一个库。
江湖传言,全世界大概有80~90%的网站直接或间接地使用了jQuery。鉴于它如此流行,又如此好用。所以每一个入门JavaScript的前端工程师都应该了解和学习它。
jQuery这么流行,肯定是因为它解决了一些很重要的问题。实际上,jQuery能帮我们干这些事情:

  • 消除浏览器差异:你不需要自己写冗长的代码来针对不同的浏览器来绑定事件,编写AJAX等代码;
  • 简洁的操作DOM的方法:写$('#test')肯定比document.getElementById('test')来的简洁;
  • 轻松实现动画、修改CSS等各种操作。
    jQuery的理念‘Write Less, Do More’,让你写更少的代码,完整更多的工作!
    <p></p>

jQuery版本

目前jQuery有1.x和2.x两个主要版本,区别在于2.x移除了对古老的IE 6、7、8的支持,因此2.x的代码更精简。选择哪个版本主要取决于你是否想支持IE 6~8。
jQuery官网可以下载最新版本。jQuery只是一个jQuery-xxx.js文件,但你会看到有compressed(已压缩)和uncompressed(未压缩)两种版本。使用时完全一样,但如果你想深入研究jQuery源码,那就用uncompressed版本。
<p></p>

使用jQuery

使用jQuery只需要在页面的<head>引入jQuery文件即可:

<html>
<head>
    <script  src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    ...
</head>
<body>
    ...
</body>
</html>

</br>
<p></p>

$符号

$是著名的jQuery符号。实际上,jQuery把所有功能全部封装在一个全局变量jQuery中,而$也是一个合法的变量名,它是变量名jQuery的别名:

window.jQuery;  // jQuery(selector, context)
window.$;  // jQuery(selector, context)
$ === jQuery;  // true
typeof($);  // 'function'

$本质上就是一个函数,但是函数也是对象,于是$除了可以直接调用外,也可以有很多其他属性。
<u>注意,你看到的$函数名可能不是jQuery(selector, context),因为很多JavaScript压缩工具可以对函数名和参数改名,所以压缩过的jQuery源码$函数都可能变成a(b, c)。</u>
绝大多数时候,我们都直接用$(因为写起来更简单),但是,如果$这个变量不幸地被占用了,而且还不能改,那我们就只能让jQuery把$变量交出来,然后就只能使用jQuery这个变量:

$;  // jQuery(selector, context)
jQuery.noConflict();
$;  // undefined
jQuery;  // jQuery(selector, context)

这种黑魔法的原理是jQuery在占用$之前,先在内部保存了原来的$,调用jQuery.noConflict()时会把原来保存的变量还原。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 114,997评论 24 450
  • 那夜那夜很黑那夜很黑很黑看不见自己的五指,也看不见自己的内心我的剑很黑,就算这剑身刺穿她的心脏,我也看不见鲜血我只...
    获青阅读 575评论 14 19
  • 总是听最轻的音乐, 轻到非要咀嚼细品, 轻到每根血脉如湖水漾漾,不能掷石。 总是看温柔温暖的文字, 温柔到愿意以身...
    吁唔唔阅读 175评论 0 0
  • 踏~踏~踏~一个缓慢略带轻浮的脚步声从远处的巷口传来,一盏老久满是锈迹的路灯,残烛般昏黄的灯光忽明忽暗,没有给这陈...
    黑羽雨秋阅读 248评论 0 1
  • 在数据梳理过程中,我使用过多种语言(perl,R,Python,C, C++,Python),每种语言都各有...
    雪走石阅读 1,246评论 0 4