以下代码:var a = 1;
function callback(){
console.log(a,this)
}
function fn(c){
var a = 2
c()
}
fn(callback)最终执行结果为反馈该题
A: 1,fn
B: 2,fn
C: 1,window
D: 2,window
为什么是C呢?
以下代码:var a = 1;
function callback(){
console.log(a,this)
}
function fn(c){
var a = 2
c()
}
fn(callback)最终执行结果为反馈该题
A: 1,fn
B: 2,fn
C: 1,window
D: 2,window
为什么是C呢?
8 回答4.6k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
答案是c
首先,问题是fn(callback)最终执行结果为:
所以fn(c)根本没执行,只执行了这一部分
所以第一个答案是1;
然后this是 JavaScript 语言的一个关键字。
它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用。在这里属于全局性调用。
这个this比较复杂,可以看这篇文章了解下http://www.ruanyifeng.com/blo...