this关键字通常在函数内部或对象内部使用。
函数或方法声明的位置不同,会影响this关键字的含义。
通常来说,this指向当前函数所操作的对象。
11 <!DOCTYPE html> 2 2 <html> 3 3 <head> 4 4 <meta charset="UTF-8"> 5 5 <title>this关键字</title> 6 6 </head> 7 7 <body> 8 8 <script> 9 9 /* 1010 window.onload 加载事件在页面内容加载完成之后立即执行相应的函数 1111 this.person这里的this指document对象 1212 而this.name和this.nibbles这里的this指的是person对象 1313 */ 1414 window.onload=function (ev){ 1515 this.person.eat(); 1616 } 1717 1818 var person={};//字面量创建对象 1919 2020 //设置字面量对象属性 2121 person.name="jackSon"; 2222 person.age=18; 2323 person.nibbles="热狗"; 2424 /*先创建一个匿名函数,先执行函数体的代码,然后再赋值给person.eat*/ 2525 person.eat=function(){ 2626 var value=this.name+"最喜欢吃"+this.nibbles; 2727 document.write(value+'<br>'); 2828 document.write('正在吃饭'); 2929 } 3030 </script> 3131 </body> 3232 </html>
本例子有3处使用了this关键字。
第一处调用对象方法,this.person.eat(); 这里的this是指document对象。
第二三处在方法内部使用var value=this.name+'的饭量是'+this.appetite; this指向person对象。