问答详情
源自:7-3 [JavaScript]ES3执行上下文

老师我想请问下第二个alert的结果为什么是1

第三部只涉及到了变量的声明 并没有给这个变量赋值1啊.为什么会alert出1呢?

提问者:hupiao 2016-04-10 22:08

个回答

  • qq_方晓华_0
    2016-04-12 16:56:22

    1,2,3步里写的只是变量声明的步骤,func=1属于执行步骤没写在里面

  • qq_方晓华_0
    2016-04-12 16:53:52

    var func=1   =====》 var func   func=1

    如果

    console.log(func)  ===>undifined (func虽然声明但没赋值)

    var func=1;

    console.log(func)  ===>1(被赋值了)

           

  • qq_方晓华_0
    2016-04-12 16:48:58

    赋值是在声明完之后执行的,js中声明是会提前的操作的

    而你的console.log()是在赋值完之后才执行,所以显示的就是赋值后的值

  • qq_方晓华_0
    2016-04-11 13:02:20

    func=1 不就是赋值吗


  • qq_方晓华_0
    2016-04-11 11:21:29

    你写了

    var func=1,console.log(func),输出的是它

  • 慕粉3133419
    2016-04-11 11:05:01

    仔细看第三条 变量声明 只是声明 但赋值是会覆盖的