• JavaScript练习题 全局变量 局部变量 作用域


    前沿:大家好我是阿飞本次 任何简单的事情都可以复杂化,本次让我们来做下搞事情的练习题吧

    例题1:
    var a = 1; 
    	function fn1(){		
    		var a = 2; 
    		alert(a);	//2
    	}
    	fn1();
    	alert(a);   //1
    	分析:局内的优先打印变量 局外的打印局外变量 
    
    例题2:
    var a = 1;
    	function fn1(){
    		alert(a);	//1	
    		a = 2;			
    	}
    	fn1();
    	alert(a);   //2
    	分析:因为都是全局变量 所以按照解析顺序从上到下
    
    例题3:
    var a = 1;
    	function fn1(a){  //由于没有实参传入,此刻的形参a默认undefined
    		alert(a);  // undefind		
    		a = 2;     // 此刻因为形参=a 所以a变为局内变量
    	}
    	fn1();
    	alert(a);  //1
    	分析:形参使函数内的全局变量变局部。
    
    例题4:
    var a = 1;
    	function fn1(a){
    		alert(a);	//1   通过实参传给形参 得到a=1
    		a = 2;		// 形参使之变为局内
    	}
    	fn1(a);
    	alert(a);   // 1 
    
    例题5:
    function fn1(a){   //由于没有实参传入,此刻的形参a默认undefined
    		alert(a);	//undefined
    		a = 2;  //此刻因为形参=a 所以a变为局内变量
    	}
    	fn1();
    
    	alert(a); 	//全局变量无法获取到局部变量 此刻全局变量又没有定义声明 所以报错
    
    例题6:
    var a = 1;
    	function fn1(a){
    		alert(a);	//1			
    		a = 2;
    		alert(a);   //2
    	}
    	fn1(a);
    	alert(a);   //1  全局无法获取局内 
    

    只是一个练习而已,搞不懂也没关系。因为本来就不推荐在函数内用全局变量。=.=

  • 相关阅读:
    蛇形填数
    开灯问题
    水仙花数
    C++Primer笔记-----day02
    C++Primer笔记-----day01
    面试智力题
    maven 打包197
    子系统 安装vsftpd197
    office 安装破解197
    oracle 创建多个数据库197
  • 原文地址:https://www.cnblogs.com/anduyinglufei/p/7442267.html
Copyright © 2020-2023  润新知