采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
let 就算在外面定义,也不是全局变量吗?
let 在全局定义,就是全局变量。
那fn1执行,this.a 是undefined
不要用 this.a ,直接取 a 就行。在你的代码中,this.a 相当于 window.a 。而这里定义了 let a = 10 它仅仅是全局作用域的变量,并不是 window 的属性,所以 this.a 取不到。
非常感谢老师回答,总结: var声明全局,会挂在window,可以用this取, let 和 const 声明全局,不会挂载window中,不能用this,挂载Script的块作用域
function fn1(){} function fn2(){} var b let a = 10 //用let声明的a不会在window上创建属性 var a = 100 //用var声明实际就是 window.a = 100 fn1() //这里this.a 实际上是window.a b=20 fn2()
登录后可查看更多问答,登录/注册
针对时下面试高频考点,帮助新人js面试快速通关
1.6k 17
1.8k 11
1.3k 11