为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 函数中的this关键字?

JavaScript 函数中的this关键字?

狐的传说 2019-02-06 10:07:27
function alertk() {alert(this);}alertk() ;执行这个事件,返回object,为什么不是function 。this不是指当前的alertk(函数吗?
查看完整描述

3 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

调用函数时this为window对象,可以alert(this==window)试试
但在严格模式下为undefined,js代码第一行写"use strict";开启严格模式

把函数设置为对象的一个方法,那么this就等于这个对象了

onclick="btnClick1()"还是普通的调用函数,改成onclick="btnClick1(this)",可以把对象传进去

或者把函数绑定给dom节点,input.onclick=btnClick1;这样this==input

查看完整回答
反对 回复 2019-03-24
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

this关键字是有作用域的,而alertk方法相对于this而言,是this的作用域。在<script></script>里面alert(this)的this和在alertk方法里面的alert(this)的this是不对等的。
bir:
function alertk() {
var a=this;//作用域与alertk方法内部
for(var i=0;i<10;i++){
var b=this;//作用域与for循环内部,和什么的this不是用一个
}
}



查看完整回答
反对 回复 2019-03-24
?
HUX布斯

TA贡献1876条经验 获得超6个赞

function是类型,this是对象,对象就是object类型,要返回具体类型要用alert(typeof(this));

查看完整回答
反对 回复 2019-03-24
  • 3 回答
  • 0 关注
  • 661 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号