var test = {
literalLogger: function() {
console.log('literal')
console.log('this: ', this)
},
arrowLogger: () => {
console.log()
console.log('this: ', this)
},
nestedArrowLogger() {
this.arrowLogger();
}
}
第一个函数将此作为对象记录。 第二个函数将其记录为窗口。 第三个函数将其记录为窗口。为什么?
答案 0 :(得分:3)
胖箭头函数捕获your_list = [1,2,['randompie'],3,[],4,5]
your_list = [thing for thing in your_list if type(thing) is not list]
关键字相对于它们声明的上下文中的内容(对于第二个this
是窗口)。
至于第三个,可能是因为对象文字中的this
是x()
的简写?