【javascript】随手记代码

//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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。