javascript - 这个this指的是谁?
怪我咯
怪我咯 2017-04-11 13:22:34
[JavaScript讨论组]
function clickItem() {
    currentLight(this);
    if (flag == 0) {
        alert('YOU WIN! GO ON!')
        level += 5;
        init();
    }
}

请问 currentLight()函数里的This指的是clickItem吗?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(10)
PHPz

就是clickItem函数里的this一样,和函数调用方式有关。

大家讲道理

看你这个currentLight这个函数写在什么位置,你想要通过谁去调用,如果没有说明这个this所指的是window

天蓬老师

你要看this是在哪个对象里面执行的,如果外层没有定义对象的话,那就是window对象

PHP中文网

不知道 this是谁 就用alert一下 this我也分不清 互相学习

ringa_lee

this不是指向函数的,看你的用法,作为构造函数和作为普通函数是两种情况,你这里应该是事件触发的普通函数,指向window

迷茫

this指点前的对象

ringa_lee

在js里,每个函数都有一个执行的上下文,可以通过this来访问。
全局函数和全局变量的上下文是window,而对象的属性函数的上下文是该对象。
clickItem是个全局函数,所以this指的是window对象。

伊谢尔伦

JavaScript中的this依赖于函数的调用方式,因此把this称为调用上下文很合适。一般函数有四种调用方式:简单函数调用;对象方法调用;作为构造函数调用;通过apply()和call()调用。这四种方式的主要区别就在于调用上下文不同:简单函数调用的上下文是window对象,方法调用的上下文是对象,构造函数的上下文是是新创建的对象实例。这些调用中函数的this指向都是固定的,但是只有apply()和call()调用可以自主定义上下文。
JavaScript函数式编程(0):函数基础 arguments、this、apply()、call()

巴扎黑

你alert(this)一下就知道了

PHP中文网

谁调用就是this就指向谁,类似于:

<script type="text/javascript">
function clickItem() {
    currentLight(this);
    if (flag == 0) {
        alert('YOU WIN! GO ON!')
        level += 5;
        init();
    }
}

clickItem();  //这里的调用其实全写是window.clickItem(),所以,因为是window调用,this就是代表window,所以就是谁调用this就指向谁;
</script>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号