<script type="text/javascript">
var numAdd; //全局变量
function f1() {
var num = 100; //局部变量
numAdd = function() { //numAdd 函数此时numadd 为全局变量
num += 1;
console.log(num)
}
function f2() { //f2函数
alert(num);
}
function f3() { //f3函数
alert(num);
}
return f3; //f2 f3 函数在 f1 函数里面 所以全局无法调用f2 f3 函数 当把f3,f2 return 出函数
}
var result=f1();
result() // result() => f1()()
numAdd(); // 当没有变量result 时 即使numAdd为全局变量 也无法使用函数
result(); //100
</script>
var result=f1(); 和 var result= new f1(); 的区别
var result= new f1(); 实例化一个对象时 会在实例化函数里面创建一个空对象 然后将this的指向 指向空对象 最后 return this
而里面的函数则是添加到这个空对象中 所以 在实例化的变量 可以点出函数里面的函数