this 指向:
1. 全局上下文(函数外)
无论是否为严格模式,均指向全局对象。注意:严格模式下全局对象为undifined
2. 函数上下文(函数内)
默认的,指向函数的调用对象,且是最直接的调用对象:
简单调用,指向全局对象注意:严格模式下全局对象为undifined,某些浏览器未实现此标准也可能会是window
改变this指向的方式:
1. 第一种: new关键字改变this指向
function Fn(){
this.user = "李某";
}
var a = new Fn();
console.log(a.user);
2. 第二种: call()
var a = {
user:"李某",
fn:function(){
console.log(this.user);
}
}
var b = a.fn;
b.call(a);
3. 第三种:apply()
var a = {
user:"李某",
fn:function(){
console.log(this.user);
}
}
var b = a.fn;
b.apply(a);
4. 第四种:bind()
var a = {
user:"李某",
fn:function(){
console.log(this.user);
}
}
var b = a.fn;
var c = b.bind(a);
c();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通