第7.12节中的js代码中为什么var flag=true不能放到function函数里?

第7.12节中的js代码中为什么var flag=true不能放到function函数里?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,很抱歉之前理解错了同学的问题,这里var flag=true是不能放在函数中的,因为当第一次点击全选按钮后,执行checkInterest()方法时,flag赋值为false后,当再次点击按钮后,执行checkInterest()方法时,会重新赋值为true,所以,var flag=true放在函数中会失效。

如:

http://img1.sycdn.imooc.com//climg/5dd7b09209f6800906230148.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 慕婉清707254 提问者 #1
    为什么不重新赋值为true呢?第一次不是flag=true吗?那执行完函数时flag=!flag=false,再次执行时flag不就为false?inserest[i].checked就不应该为false了吗?
    2019-11-23 17:28:23
  • 好帮手慕酷酷 回复 提问者 慕婉清707254 #2
    同学你好,你的理解有些偏差哦!这里当第一次点击全选后,执行checkInterest()函数后,按钮变为全不选,flag设为false之后,当前同学再次点击全不选按钮后,会再次重新调用checkInterest()函数,当执行checkInterest()函数的第一行代码var flag=true;后,会将flag重新赋值为true,所以也就无法实现全不选的效果了。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2019-11-23 17:42:42
好帮手慕酷酷 2019-11-22 15:32:11

同学你好,var flag=true放在function函数中也是可以的,但是放在函数中,该变量就是局部变量,只能在定义的当前函数中使用,而将var flag=true放在function函数外,则为全局变量,其他function函数中也是可以使用的。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕婉清707254 #1
    但是我放在里面该函数里面就实现不了var flag=false时的事件
    2019-11-22 17:43:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师