//js实现的当前界面的刷新、前进、后退 <input type="button" value="刷新" onclick="window.location.reload()"> <input type="button" value="前进" onclick="window.history.go(1)"> <input type="button" value="后退" onclick="window.history.go(-1)"> <input type="button" value="前进" onclick="window.history.forward()"> <input type="button" value="后退" onclick="window.history.back()">
console.log Firefox最先提出的,后来被各个浏览器采用;即在控制台输出日志,不会像alert一样打断程序进程,适合用于与Firebug或者是其他的开发者工具配合进行调试
//全局变量
function sum1(x,y){ result = x+ y; return result; } /*上面这个函数中,result没有用var进行声明,实际上result变成了隐式的全局变量,result在其他函数中也可以访问;若写成var result其生存期就仅在函数内部,所以因为在一个项目中引用的js文件过多、很多地方使用到简单易用的全局变量,所以为了使自己引用的变量不被挂掉,尽量减少使用全局变量*/
function temp(){ var a= b =0; var c,d; } /*同样进行链式声明的时候也应该注意全局变量, 上面这句中a是本地变量,b就是全局变量;c,d均为局部变量(前提是这个函数被调用一次后,要不变量压根不被声明出来)*/
/*全局变量可以通过delete来删除*/ var a=0; delete(a); /*删除成功的话会返回true,不成功返回false 继续测试一下,是否删除 */ console.log ( typeof(a) ); /*如果删除成功的话,可以知道这个是输出undefined,没删出成功会输出正常的值number 用var声明的显示全局变量没办法delete,但是隐式的局部变量都可以delete */
js置顶解析:
所有函数内部新定义 var 的变量都会置顶解析,也算是一种预解析
所以全局变量可能在函数内部受影响,尽量避免函数内部使用全局变量的变量名称
myname = "global"; // 全局变量 function func() { alert(myname); var myname = "local"; alert(myname); // } func(); //最后结果是:第一个alert的是undefined,第二个alert的是myname