为了账号安全,请及时绑定邮箱和手机立即绑定

请问这道函数题是什么意思

请问这道函数题是什么意思

MYYA 2018-10-17 16:19:41
class="lang-js">var msg='hello';for (var i=0; i<10; i++) {    var msg='hello'+i*2+i; } alert(msg);
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

这题考的是var申明变量的作用域问题,简单来说javascript的var申明的变量是函数作用域,不是块级作用域(块级作用域是let).
所以循环里面的msg和外部的msg实际上是一个作用域下的变量
所以这题的答案就是msg = 'hello' + 9 * 2 + 9
此时根据运算符优先级先做 * 运算,然后做 + 运算
最后答案是'hello' + 18 + 9 => 'hello18' + 9 => 'hello189'

查看完整回答
反对 回复 2018-11-17
  • 1 回答
  • 0 关注
  • 608 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信