JavaScript知识点总结(十)之this关键字


Posted in Javascript onMay 31, 2016

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关键字的理解就给大家介绍这里,希望对大家有所帮助!

Javascript 相关文章推荐
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
Apr 24 Javascript
js限制文本框只能输入数字(正则表达式)
Jul 15 Javascript
jquery利用命名空间移除绑定事件的方法
Mar 11 Javascript
js实现的奥运倒计时时钟效果代码
Dec 09 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
Dec 24 Javascript
Layui 设置select下拉框自动选中某项的方法
Aug 14 Javascript
手淘flexible.js框架使用和源代码讲解小结
Oct 15 Javascript
详解React项目中碰到的IE问题
Mar 14 Javascript
在Vue项目中使用snapshot测试的具体使用
Apr 16 Javascript
简单学习5种处理Vue.js异常的方法
Jun 17 Javascript
JavaScript观察者模式原理与用法实例详解
Mar 10 Javascript
node.js基础知识汇总
Aug 25 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
May 31 #Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
May 31 #Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
May 31 #Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
May 31 #Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
May 31 #Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
May 31 #Javascript
TinyMCE汉化及本地上传图片功能实例详解
May 31 #Javascript
You might like
php学习之function的用法
2012/07/14 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
php格式化日期实例分析
2014/11/12 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
2021/02/07 Vue.js
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
Windows中安装使用Virtualenv来创建独立Python环境
2016/05/31 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
python 多个参数不为空校验方法
2019/02/14 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
Python如何绘制日历图和热力图
2020/08/07 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
自我评价正确写法范文
2013/12/10 职场文书
地理教师岗位职责
2014/03/16 职场文书
企业授权委托书范本
2014/04/02 职场文书
家长通知书家长评语
2014/04/17 职场文书
英文演讲稿
2014/05/15 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
企业财务总监岗位职责
2015/04/03 职场文书