34.函数作用域题

1.阶乘 :函数递归

2.变量与函数优先级

         报错      因为此时 foo 是变量 不能()

3,函数体内部   var a = b =3;  b=3 相当于在GO 中是全局变量,a在AO 函数作用域中。

4 闭包函数作用域

  bar()报错,是因为预解析 var bar undefined 是变量,不能()

var a=b=3,如果在函数内声明,a 是AO b是GO    var a=1,b=c=0;  如果在函数体内,a b 是AO c是GO

                                                                                              只有被var 的才是被声明的,没var 的就是没声明。函数执行,在函数体内没找到会变量会被隐式声明为全局变量造成全局变量污染。

5.形参作用域在AO中

     调用时传外部实参

 调用时没传外部实参

         typeof a 为undefined,undefined 转为boolean 值,为true,因为undefined转boolean,会先转成“undefined"字符串,再转成boolean,因为非空所以为true.

因为函数名为fn ,auto是fn的name属性  

原文地址:https://www.cnblogs.com/yzdwd/p/12565898.html