在Javascript中,变量的作用域不是以代码块为作用域,是以函数作为作用域,如果变量在某个函数中定义的,那么它在函数以外的地方是不可见的。
而如果变量定义在if或者for中,它在代码块之外是可见的。
函数域始终优于全局域。当Javascript执行过程进入到新的函数的时候,这个函数内别声明的所有变量都会被移动(提升)到函数最开始的地方,但是赋值操作不会被提升,还会在原来的位置上。(具体见javascript面向对象编程指南P73)
本文共 269 字,大约阅读时间需要 1 分钟。
在Javascript中,变量的作用域不是以代码块为作用域,是以函数作为作用域,如果变量在某个函数中定义的,那么它在函数以外的地方是不可见的。
而如果变量定义在if或者for中,它在代码块之外是可见的。
函数域始终优于全局域。当Javascript执行过程进入到新的函数的时候,这个函数内别声明的所有变量都会被移动(提升)到函数最开始的地方,但是赋值操作不会被提升,还会在原来的位置上。(具体见javascript面向对象编程指南P73)
转载于:https://www.cnblogs.com/sanxia/p/6364159.html