js中的this和arguments.callee
this和 arguments.callee
this
全局作用域下,this指向Window
其他情况下,谁调用this就指向谁
console.log(this)
//对调用就指向谁系列
function demo(){
console.log(this) //全局作用域下指向window
}
demo()
name = 'charry'
var obj = {
name: 'ghost',
say: function(){
console.log(this.name)
console.log(this)
}
}
obj.say() // ghost this指向obj,obj调用say方法
var func = obj.say
func() //charry this指向window,全局调用
arguments.callee
存在函数内部指向函数本身
//arguments.callee
function test(){
console.log(arguments.callee)
}
test() // 输出函数本身,arguments.callee指向函数本身
function demo(n){
if (n == 1){
return 1
}else{
return n*arguments.callee(n-1)
}
}
demo(10)