重复用全局,一次用局部,多用局部,少用全局
调用局部变量里的全局变量,要用show()方法
#1 全局变量与局部变量
1. 全局:在页面上任何位置都能访问的变量
2. 局部:只能在函数内访问的变量
3. 全局变量写在function外面,局部变量写在function里面
4. 如果在function内部定义了一个不带var的变量,也是全局
5. 尽可能的少用全局变量,原因是生命周期问题.
生命周期:
1.除非网页关闭了,全局变量才会销毁
2.当函数执行完毕,局部变量就会销毁
6. 当全局变量与局部变量重名的时候,采取的是就近原则.
#2 带参函数的优点是什么?
代码量缩短了,更灵活了
#3 事件绑定
1. HTML事件绑定(直接写在HTML标签上)
<div onclick="show()"></div>
2. DOM0级事件绑定(JS与HTML结构分离)
<div id="div1"></div>
div1.onclick=show;
div.onclick=function(){
......
}
3. DOM2级事件绑定
<div id="div1"></div>
div1.addEventListener("click",show);
div1.addEventListener("click",function(){});
优点:给一个元素绑定多个函数不会覆盖,事件是动态的
缺点:IE8-不支持
4. TE事件绑定
<div id="div1"></div>
div1.attachEvent("onclick",show);
div1.attachEvent("onclick",function(){});
特点:Chrome,FF等不支持,仅支持TE
#4 BOM(Browser Object Model):一套访问浏览器信息的标准
window对象是浏览器的顶层对象,代表了窗口.
#window对象的方法
alert('警告'); /*带有确定按钮的提示框*/
result=confirm('确定要删除吗?'); /*带"确定","取消"*/
/*result:ture表示确定*/
/*result:false表示取消*/
result=prompt('请输入名字','默认值'); /*带一个文本框*/
/*result:确定则获取文本框内容*/
/*result:取消则获取NULL*/
close();/*关闭当前窗口(FireFox只能关闭新窗口打开的页面)*/
setInterval(function(){},2000);
/*表示每隔2秒执行一次该函数*/
clearInterval(timer); /*清除指定的定时器*/
var timer=setTimeout(function(){},1000);
/*等待1秒后执行该函数*/
clearTimeout(timer); /*清楚指定的定时器*/
#5 new Date()现在的时间
var mydate=new Date();
var year = mydate.getFullYear();
var month = mydate.getMonth()+1; b
var date = mydate.getDate();
var date = mydate.getDate();
var day = mydate.getDay();
var hours = mydate.getHours();
var minutes = mydate.getMinutes();
var seconds = mydate.getSeconds();
var str="现在是:"+year+"年"+
month+"月"+date+"日"+hours+":"+
minutes+":"+seconds+"星期"+day;
mytime.value=str;