关于JS局部变量的赋值问题

window.onscroll=function(){varcount=0;varnum=0;if(count==0){num=10;count=1console.log... window.onscroll=function(){
var count = 0;
var num = 0;

if(count == 0){
num = 10;
count = 1
console.log("1:" + num);
}else{
count = 0;
console.log("2:" + num);
}
}
简化后代码如上,执行后只会输出“1:10”,这是为什么呢?菜鸟求救~~而当我把count和num改为全局变量后却又不会出现改问题~~
展开
 我来答
天麒圆u
推荐于2016-03-25 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:94
采纳率:100%
帮助的人:45.9万
展开全部
................................
function执行以后
首先 count赋值为0
number也赋值为0
if判断 count等于0所以为true 进入判断
number 重新赋值为10
count 重新赋值为1
输出肯定是1:10

因为全局变量在你的function执行后 就会受到影响改变值 全局变量一直存在,

局部变量在你执行完function以后就消失了 局部变量出了function就没了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式