JavaScript 函数中的this关键字?

function alertk() {
alert(this);
}
alertk() ;
执行这个事件,返回object,为什么不是function 。this不是指当前的alertk(函数吗?

jeck猫
浏览 532回答 2
2回答

冉冉说

调用函数时this为window对象,可以alert(this==window)试试但在严格模式下为undefined,js代码第一行写"use strict";开启严格模式把函数设置为对象的一个方法,那么this就等于这个对象了onclick="btnClick1()"还是普通的调用函数,改成onclick="btnClick1(this)",可以把对象传进去或者把函数绑定给dom节点,input.onclick=btnClick1;这样this==input

慕的地6264312

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不是用一个}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript