zoukankan      html  css  js  c++  java
  • 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  全局无法获取局内 
    

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

  • 相关阅读:
    莫比乌斯反演学习笔记
    NOIp 2020 游记
    题解【LOJ3087】「GXOI / GZOI2019」旅行者
    题解【CF999E】Reachability from the Capital
    题解【LOJ2007】「SCOI2015」国旗计划
    题解【LOJ3145】「APIO2019」桥梁
    题解【LOJ2114】「HNOI2015」菜肴制作
    CSP-J/S 2020 爆炸记
    题解【洛谷P2569】[SCOI2010]股票交易
    补题目录
  • 原文地址:https://www.cnblogs.com/anduyinglufei/p/7442267.html
Copyright © 2011-2022 走看看