js 内部函数访问外部函数公共变量

JavaScript017

js 内部函数访问外部函数公共变量,第1张

话是这么说没错,不过你要明白js的作用域才行。js没有块作用域,只有函数作用域,就是说一个函数内部是一个作用域,如果它包含在其它函数内,那么它可以用外部的变量,但是外部不能用它的变量;简单的说嵌套的函数里,作用域也还是嵌套的。

name2未定义,这个很明显,就不说了;this.getInner很明显在this.innerFunc外部,当然不能利用里面的函数的变量,好吧,我感觉这个也很明显;你确定你访问的是外部函数的成员吗?

JavaScript 定义方法的内部变量不声明,直接使用就是全局变量(公共变量),比如:

function method(){

var privateNum = 1

publicNum = 2

}

这个方法中用var定义的就是局部变量,privateNum就是局部变量;没有用var声明的就是全局变量(公共变量),publicNum就是全局变量(公共变量)