码迷,mamicode.com
首页 > Web开发 > 详细

JS笔记2——额,被作用域坑了~

时间:2016-09-12 18:57:51      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

<script>
	function calculate(a,c,b){
		if(c==‘+‘){var d=a+b;}
		if(c==‘-‘){var d=a-b;}
		if(c==‘*‘){var d=a*b;}
		if(c==‘/‘){var d=a/b;}
		return d;
	}
	
	// calculate(2,‘*‘,6);     //不能输出结果
	// alert(d);

   alert(calculate(2,‘*‘,6));  //可以正常输出
</script>

问题点列出来了,这是为啥?

好吧,是作用域的问题,是d的作用域的问题,函数里面是用var 声明的,是局部变量~~~去掉var之后就可以正常输出了,不过还是最好不要这样做,可以不把结果赋给另一个变量:

<script>
    function calculate(a,c,b){
        if(c==+){return a+b;}
        if(c==-){return a-b;}
        if(c==*){return a*b;}
        if(c==/){return a/b;}
    }
    alert(calculate(2,*,6)); 
</script>

我知道这错误太低级了,可是,我最开始真没发现~!谨记谨记!

  

JS笔记2——额,被作用域坑了~

标签:

原文地址:http://www.cnblogs.com/Christeen/p/5865502.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!