JavaScript this关键字

Stella981
• 阅读 272

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

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

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

1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>this关键字</title>
 6 </head>
 7 <body>
 8    <script>
 9    /*
10      window.onload 加载事件在页面内容加载完成之后立即执行相应的函数
11      this.person这里的this指document对象
12      而this.name和this.nibbles这里的this指的是person对象
13    */
14        window.onload=function (ev){
15         this.person.eat();
16        }
17        
18        var person={};//字面量创建对象
19        
20        //设置字面量对象属性
21        person.name="jackSon";
22        person.age=18;
23        person.nibbles="热狗";
24        /*先创建一个匿名函数,先执行函数体的代码,然后再赋值给person.eat*/
25        person.eat=function(){
26          var value=this.name+"最喜欢吃"+this.nibbles;
27          document.write(value+'<br>');
28          document.write('正在吃饭');
29        }
30    </script>
31 </body>
32 </html>

本例子有3处使用了this关键字。

第一处调用对象方法,this.person.eat();  这里的this是指document对象。

第二三处在方法内部使用var value=this.name+'的饭量是'+this.appetite; this指向person对象。

点赞
收藏
评论区
推荐文章
Karen110 Karen110
2年前
一篇文章带你了解JavaScript作用域
在JavaScript中,对象和函数也是变量。在JavaScript中,作用域是你可以访问的变量、对象和函数的集合。JavaScript有函数作用域:这个作用域在函数内变化。一、本地JavaScript变量一个变量声明在JavaScript函数内部,成为函数的局部变量。局部变量有局部作用域:它们只能在函数中访问。JS://codeherecann
胡哥有话说 胡哥有话说
3年前
前端经典面试题解密:JS的new关键字都干了什么?
前言new关键字在实例化获取对象时都做了什么?是一道经常出现在前端面试时的问题。如果只是简单的了解new关键字是实例化构造函数获取对象,是万万不能够的。更深入的层级发生了什么呢?同时面试官想从这道题里面考察什么呢?下面胡哥为各位小伙伴一一来解密。一、new关键字new关键字的作用:通过new关键字实例化构造函数,获取对象。说一千道一万,不如来段代码
Karen110 Karen110
2年前
一篇文章带你了解JavaScript this关键字
与其他语言相比,this关键字在JavaScript中的行为略有不同。JavaScript中,this关键字引用其所属的对象。根据使用位置,它具有不同的值。一、前言方法中,this关键字引用其所属的对象。1.this指的是全局对象在函数中。2.this引用全局对象在函数中。3.在严格模式下,this是未定义的在事件中。4.
隔壁老王 隔壁老王
3年前
我的C语言基础
C语言32个关键字auto声明自动变量short声明短整型变量或函数int声明整型变量或函数long声明长整型变量或函数float声明浮点型变量或函数double声明双精度变量或函数char声明字符型变量或函数struct声明结构体变量或函数union声明共用数据类型enum声明枚举类型typedef用以给数据类型取别名co
Wesley13 Wesley13
2年前
HTML5
1<!DOCTYPEhtml2<html3<head4<metacharset"utf8"5<titleHTML5页面切换动画</title6<linkhref"animations.css"rel"stylesheet"
Stella981 Stella981
2年前
JavaScript之函数
    玩js自然要和函数打交到。函数嘛简单来说就是给代码分个块,方便调用、信息隐藏和代码复用,还可以用于指定对象的行为。另外函数还可以玩出很多花样来。。。JavaScript使用关键字function定义函数。定义一个函数://函数声明//这种定义函数的好处是可以在当前作用域内任何位置调用,因为变量的声明和函数的
Stella981 Stella981
2年前
Echarts:实现拖拽效果
1<!DOCTYPEhtml2<html3<head4<metacharset"utf8"5<scriptsrc"./echarts.js"</script6</head7<body8<div
Stella981 Stella981
2年前
JavaScript里面的居民们3
如代码,分别实现diyTrim及removeRepetition函数,并跑通代码中的测试用例。1<!DOCTYPEhtml2<html3<head4<metacharset"utf8"/5<titleJS里的居民们3</title
Wesley13 Wesley13
2年前
ES6新增的一些特性
1、let关键字,用来代替var的关键字,特点: 1、变量不允许被重复定义2、不会进行变量声明提升3、保留块级作用域中i的2、const定义常量,特点:1、常量值不允许被改变2、不会进行变量声明提升3、箭头函数  与普通函数的区别:1、书写上用代替了function         2、普通函数的this指向window而ES6
Stella981 Stella981
2年前
Javascript定义类(class)的三种方法
在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称"实例")共有的属性和方法。Javascript语言不支持"类",但是可以用一些变通的方法,模拟出"类"。一、构造函数法这是经典方法,也是教科书必教的方法。它用构造函数模拟"类",在其内部用this关键字指代实例对象。  function