全局变量与局部变量
1. 全局:在页面上任何位置都能访问的变量
2. 局部:只能在函数内访问的变量
3. 全局变量写在function外面,局部变量写在function里面
4. 如果在function内部定义了一个不带var的变量,也是全局
5. 尽可能的少用全局变量,原因是生命周期问题.
生命周期:
1.除非网页关闭了,全局变量才会销毁
2.当函数执行完毕,局部变量就会被销毁
6. 当全局变量与局部变量重名的时候,采取就近原则.
事件绑定
1. HTML事件绑定(直接写在HTML标签上)
<div onclick="show()"></div>
2. DOM0级事件绑定(JS与HTML结构分离)
<div id="div1"></div>
div1.onclick=show;
div1.onclick=function(){
.......
}
3. DOM2级事件绑定
<div id="div1"></div>
div1.addEventListener("click",show);
div1.addEventListener("click",function(){});
优点:给一个元素绑定多个函数不会覆盖,事件是动态的
缺点:IE8-不支持
4. IE事件绑定
<div id="div1"></div>
div1.attachEvent("onclick",show);
div1.attachEvent("onclick",function(){});
特点:Chrome,FF等不支持,仅支持IE
事件绑定的兼容写法(兼容所有浏览器)
BOM(Browser Object Model):一套访问浏览器信息的标准
window对象是浏览器的顶层对象,代表了窗口.
window对象的方法
alert(‘警告‘); /*带有确定按钮的提示框*/
result=confirm(‘确定要删除吗?‘); /*带"确定",“取消” */
/*result:true表示确定*/
/*result:false表示取消*/
result=prompt(‘请输入姓名‘,‘默认值‘);/*带一个文本框*/
/*result:确定则获取文本框内容*/
/*result:取消则获取NULL*/
close(); /*关闭当前窗口(FireFox只能关闭新窗口打开的页面)*/
var timer=setInterval(function(){},2000);
/*表示每隔2秒执行一次该函数*/
clearInterval(timer);/*清除指定的定时器*/
var timer=setTimeout(function(){},1000);
/*等待1秒后执行该函数*/
clearTimeout(timer);/*清除指定的定时器*/
例子 获取现在的时间
递归:函数调用自身