js的小知识1

来源:互联网 发布:软件培训班要多少钱 编辑:程序博客网 时间:2024/06/06 18:52

js 的一些小细节,
变量var 的区别

function(){var photo=10;//局部变量}alert(photo)//undefinedfunction(){ photo=10;//全局变量}alert(photo)//10

函数声明的区别

add();//函数声明提升,可以先使用再定义function add(){}add();//undefined,必须将调用放在声明后面var add=funciton(){}

var arr=[1,2,9,5,8,4]alert(arr.sort());//得到1,2,4,5,8,9 一切都很美好var arr1=[1,5,4,11,10]alert(arr1.sort());//什么情况1,10,11,4,5js中的sort()排序,实际上是将所有变量都转化为字符串,再比较大小,所以记得想要比较数字的大小,一定要记得传入一个比较的函数alert(arr1.sort(function(a,b){return a-b}))//世界重新美好起来1,4,5,10,11

setInterval和setTimeout一定是准时发生的吗?
答案是不是的,如果在这个时间段正好有进程占用了CPU ,那么就会有几毫秒的误差,所以不是精准的.


为什么需要把js 放在body下面执行,或者使用window.onload 或者$(document).ready(function(){})这样的函数,由于js 大多数都是需要操控dom 的,而js 又是同步执行的,不这样的话,就会出现找不到dom对象的错误.所以习惯很重要.


动画为什么需要使用函数回调才能顺序执行,由于它是并发的,放在一个循环当中你以为会顺序执行动画,错了,它会把这些动画事件同时执行(会有个几毫秒的误差)看上去就是并发.这就是为什么要使用函数回调.


先到这里,以后再慢慢补充,如有不足之处,还望指教一二.

2 0