1.第一种写法
var fun = function() {console.log('fun')}
this.fun()
2.第二种写法
let fun = function() {console.log('fun')}
this.fun()
第一种写法正常执行,
第二种写法出现【this指向.html:26 Uncaught TypeError: this.fun is not a function】的问题,为什么?
1.第一种写法
var fun = function() {console.log('fun')}
this.fun()
2.第二种写法
let fun = function() {console.log('fun')}
this.fun()
第一种写法正常执行,
第二种写法出现【this指向.html:26 Uncaught TypeError: this.fun is not a function】的问题,为什么?
let声明一个作用域或被限制在块级中的变量、语句或者表达式。与var不同的是,它声明的变量只能是函数块的。块级变量并不被全局的this所引用。所以通过this.fun是未定义的。