1.onload和ready区别javascript
1.执行时间
window.onload必须等到页面内包括图片的全部元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,没必要等到加载完毕。
2.编写个数不一样
window.onload不能同时编写多个,若是有多个window.onload方法,只会执行一个。
$(document).ready()能够同时编写多个,而且均可以获得执行,并按添加的顺序执行css
function addLoadEvent(func){ var oldLoad = window.onload; if(typeof window.onload!='function'){ window.onload=func; }else{ window.onload=function(){ oldLoad(); func(); } } }
3.简化写法
window.onload没有简化写法
$(document).ready(function(){})能够简写成$(function(){});html
4.向.ready()回调函数中传入参数java
jQuery提供了一个jQuery.noConflict()方法,调用该方法能够把对$标识符的控制权让渡还给其余库。web
2.改变this执行环境ajax
apply call数组
详细见博客:http://www.cnblogs.com/YangqinCao/p/5411758.html浏览器
3.匿名函数的做用,哪些地方用到缓存
匿名函数:就是没有名字的函数服务器
定义函数字面量和即时函数时都有用到
你能够认为他们是一次性函数。当你只须要用一次某个函数式,他们就特别有用。经过使用匿名函数,没有必要把函数一直放在内存中,因此使用匿名函数更加有效率。
匿名函数的做用是建立一块封闭区域,外面不可以访问里面的变量和方法,
4.onclick和click的区别
1.onclick是绑定事件,告诉浏览器在鼠标点击时候要作什么
click自己是方法做用是触发onclick事件,只要执行了元素的click()方法,就会触发onclick事件。
2.click()方法的主要做用是触发调用click方法元素onclick事件。
click方法中的function代码会在onclick事件执行完后执行,此时click方法起到追加事件的做用。
<script type=
"text/javascript"
>
$(
function
(){
$(
"#btn3"
).click(
function
(){
alert(
"aa"
);
});
});
function
change(){
alert(
"bb"
);
}
</script>
<button id=
"btn3"
onclick=
"change()"
>dd</button>
先弹出bb再弹出aa
5.从输入网址到显示网页的过程
通常会经历如下几个过程:
一、首先,在浏览器地址栏中输入url
二、浏览器先查看浏览器缓存-系统缓存-路由器缓存,若是缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操做。
三、在发送http请求前,须要域名解析(DNS解析),解析获取相应的IP地址。
四、浏览器向服务器发起tcp链接,与浏览器创建tcp三次握手。
五、握手成功后,浏览器向服务器发送http请求,请求数据包。
六、服务器处理收到的请求,将数据返回至浏览器
七、浏览器收到HTTP响应
八、读取页面内容,浏览器渲染,解析html源码
九、生成Dom树、解析css样式、js交互
十、客户端和服务器交互
十一、ajax查询
其中,步骤2的具体过程是:
6.进程和线程的区别
计算机的核心是CPU,CPU承担全部的计算任务。CPU就比如是一个工厂,时刻在运行。
假设这个工厂的电力有限,一次只能供一个车间使用,也就是说一个车间在使用的时候其余车间都必须关闭。进程就是这个车间,一个进程在执行时,其余进程要等待它执行完。
一个车间有不少个工人,他们协同完成一个任务,那么工人就是线程,一个进程能够有多个线程。
车间里有不少小房间,每一个工人均可以进入这些房间,因此一个进程的内存是共享的,全部线程可使用这些共享内存。
可是房间有大有小,好比说厕所一次只能进一我的,这表明有些共享内存一次只能容许一个线程访问,其余线程必须等它结束了才能使用这块内存。一个防止他人进入的办法就是,先进去的人在房间上加一把锁,后来的人看到门上的锁就知道里面有人,就在外面等着,这把锁就叫互斥锁,能防止多个线程同时读写一个内存。
有些房间好比厨房比较大,一次能够进入n我的,可是超过n我的就要在外面等待。这比如某些内存区域只能给固定的线程数访问。为了防止其余人进入,能够在房间门口挂n把锁,进去一我的拿一把锁,出来的人再把锁挂在门上,这样后来的人看到门上没锁了就知道要在外面等待了。这种作法叫作信号量。能够防止多线程冲突。
操做系统的设计归结为3点:
1.以多进程形式,容许多个任务同时运行
2.以多线程形式,容许一个任务分红不一样的部分同时运行
3.提供协调机制,防止进程之间与线程之间的冲突,容许线程之间和进程之间共享资源。
不一样归结为如下几点: