this是Javascript语言的一个关键字。随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。JavaScript中的this指针是一个动态的变量,一个方法内的this指针并不是始终指向定义该方法的对象的。Javascript中this关键字通常指向当前函数的拥有者。
下面通过代码给大家介绍下。具体代码如下所示:
<script type="text/javascript">function Person(){/*使用var 属性名定义的属性是类的私有属性,外界无法访问,要想被外界访问,就要使用公共方法*/var QQ=""; var Email="@qq.com";/*使用this.属性名定义的属性就是类的公共属性,是可以被外界访问的*/this.Name="孤傲苍狼";this.Age=;/*定义Person类的公共方法,凡是定义类的公共属性和公共方法都要使用this*/this.Show=function(){//定义Person类的公共方法(特权方法)alert("QQ="+QQ+"/tEmail="+Email);}/*定义Person类的私有方法*/function Show(){//这是Person类的一个私有方法,只能在Person类内部使用}}var p = new Person();alert("私有属性p.QQ="+p.QQ+"/t"+"p.Email="+p.Email);alert("公共属性p.Name="+p.Name+"/t"+"p.Age="+p.Age);p.Show();//p.Show();//这里会报错,无法调用Person类的私有方法,/*Window 对象描述Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写 document,而不必写 window.document。同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 Window.alert()。*/function Test(){alert(this.v);}v=;Test();window.Test();//记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例,这里是window对象调用Test()方法,因此此时this指的就是window对象function Test(){this.fnTest=function(){alert(this.v);}}var t = new Test();t.v="记住一句话:哪个对象调用this所在的函数,那么this代表的就是哪个对象实例";t.fnTest();//这里是t对象调用Test()方法,因此此时this指的就是t对象</script>
JavaScript的this总结:
1、this不能在类定义的外部使用,只能在类定义的内部使用。
2、哪个对象调用this所在的函数,那么this代表的就是哪个对象实例。
关于JavaScript知识点总结(十)之this关键字的理解就给大家介绍这里,希望对大家有所帮助!
新闻热点
疑难解答