JavaScript 中的 this 指向

slogan: 我学编程就是为了赚钱,后来发现它不只是能赚钱…

js 中的 this 关键字

在类似JavaScript面向对象的编程语言中,this 关键字一般表示当前对象的一个引用。但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。换句话说,js中的 this 对象是一个函数执行的上下文对象。

  • 如果单独使用或者在全局函数中使用,this 表示全局对象,相当于 window 。
var name = "张三";		//定义一个全局变量
function fun() {
    return this.name;	//返回this指向的name
}
console.log(fun())	//调用fun()函数,结果为“张三”
  • 在方法中,this 表示该方法所属的对象。
var action = "无所事事";		//创建全局对象 action

function run() {
    console.log(this.action)
}

var person1 = {
    name: "zhangsan",
    age: 20,
    action: "跑步",
    doing: run		//作为对象里的方法,run()中的this指向该对象中的 action ,而不是全局里的 action 
}
var person2 = {
    name: "lisi",
    age: 20,
    action: "走路",
    doing: run
}

person1.doing();	// 结果为“跑步”
person2.doing();	// 结果为“走路”
  • 在 HTML 事件句柄中,this 指向接收事件的 HTML 元素。
<button onclick="this.style.display='none'">
点了之后按钮就消失了
</button>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值