>  Q&A  >  본문

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

class="lang-js">

var msg='hello';for (var i=0; i<10; i++)
{    var msg='hello'+i*2+i;
}
alert(msg);


phpcn_u700phpcn_u7002797일 전909

모든 응답(2)나는 대답할 것이다

  • 数据分析师

    数据分析师2017-10-01 00:26:15

    이 함수 질문은 무엇을 의미합니까 - PHP 중국어 웹사이트 Q&A - 이 함수 질문은 무엇을 의미합니까 - PHP 중국어 웹사이트 Q&A

    둘러보고 배워보세요.

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-02-21 09:44:36

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

    회신하다
    0
  • 취소회신하다