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对象。