js的小知识1

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,5

js中的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对象的错误.所以习惯很重要.


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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值