首页 > 技术文章 > JavaScript&jQuery.this关键字

H97042 2018-06-09 10:39 原文

this关键字


this关键字通常在函数内部或对象内部使用。

函数或方法声明的位置不同,会影响this关键字的含义。

通常来说,this指向当前函数所操作的对象。

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>this关键字</title>
</head>
<body>
<script>
    window.onload=function (ev) {
        // 调用对象
        this.person.eat();
    }
 
    var person={};//字面量创建对象
 
    // 设置字面量对象属性
    person.name='huangshiren';
    person.age=58;
    person.appetite=3;
    person.eat=function(){
        var value=this.name+'的饭量是'+this.appetite;
        document.write(value+'<br>');
        document.write('正在吃饭');
    }
</script>
</body>
</html>

测试题目

1、如何判断this关键字的指向?

答:

  • fun()是全局函数,而声明的fun接收的是obj里面单纯的一个函数,并没有调用(obj.say()才是调用了函数),此时的fun就是一个函数(function(){alert(this.str);}),那么当fun()调用函数的时候,this指向的就是window
  • 是谁调用的函数,那么this就指向谁

2、不使用this关键字可以吗?

答:不可以

 

推荐阅读