1. $(document).read(fn)和window.onload = fn区别
window.onload = fn是在页面完全加载完成之后,才开始执行。这里的完全加载包括图片、视频等比较缓慢的资源加载完成之后才开始执行。因此如果我们有一些JS在页面加载后就开始执行的话,那么会出现页面开始很乱,等到这些资源都加载完成之后,页面才会变的如我们想要的那样。
而jQuery的$(document).read(fn),只需要在页面把DOM元素加载完成后便开始执行,这样用户就不用看到一个变形的页面。
2. jQuery页面加载写法和$冲突处理
要在DOM加载完成和执行JS代码,我们可以使用jQuery的ready函数来实现。jQuery提供了两种写法:
$(document).ready(fucntion(){
// Your code
});
或者
$(function(){
// Your code
})
在上面的例子中我们都使用jQuery的$来代替jQuery对象。但是有的时候我们会出现其他的JavaScript库也使用$来代替库对象。因此在jQuery中一般要么直接使用jQuery对象代替$,要么使用jQuery对象提供的方法:
$.noConflict();
jQuery(document).ready(function($) {
// Code that uses jQuery's $ can follow here.
});

小知识补充:jQuery阻止事件
当我们在做一个点击事件的时候,我们有时可能会使用使用到<a href="#">Show Pop-up</a>,但是当我们点击链接的时候,页面会发生跳转。之前的做法是<a href="void(0);" Pop-up</a>。但是在jQuery使用事件动态为元素定义事件时,我们该如何来处理呢?
如下代码:
$( document ).ready(function() {$( "a" ).click(function( event ) {
alert( "As you can see, the link no longer took you to jquery.com" );
event.preventDefault();
});
});