hi,老师你好~关于声明和定义以及作用域看了好多博客理解都不是很深,今天还有一些小的疑问!

来源:7-3 [JavaScript]ES3执行上下文

wens

2015-04-20 15:35

看了7-3这一节课,总结起来可不可以这样:在全局执行环境中,无论有多少var也不管名字冲突与否,都可以默认先把这些声明写到代码的最开始,然后再看是否名字有冲突,如果有冲突就按照那三个标准判断,最后看alert()语句和赋值语句的位置,如果赋值语句在前就输出数值,否则是undefined,对么??

写回答 关注

1回答

  • Bosn
    2015-05-08 10:20:40

    变量初始化阶段,所有变量声明都会提前处理,并且初始化值为undefined


    而赋值语句是在代码执行阶段触发的,经过赋值改写了变量值再alert自然就是修改之后。而变量/函数的声明,是前置处理的。

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281112 学习 · 1020 问题

查看课程

相似问题