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 相关文章推荐
JS小功能(onmouseover实现选择月份)实例代码
Nov 28 Javascript
CSS中position属性之fixed实现div居中
Dec 14 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
Feb 18 Javascript
深入理解js中this的用法
May 28 Javascript
jquery输入数字随机抽奖特效的简单实现代码
Jun 10 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
RGB和YUV 多媒体编程基础详细介绍
Nov 04 Javascript
Vue中添加过渡效果的方法
Mar 16 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
Sep 19 Javascript
JavaScript的Object.defineProperty详解
Jul 09 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
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实现有趣的人品测试程序实例
2015/06/08 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
window.addeventjs事件驱动函数集合addEvent等
2008/02/19 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
使用javascript创建快捷方式的简单实例
2013/08/09 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
RequireJS 依赖关系的实例(推荐)
2017/01/21 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
使用tensorflow根据输入更改tensor shape
2020/06/23 Python
python 实现数据库中数据添加、查询与更新的示例代码
2020/12/07 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
机电职业生涯规划书范文
2014/03/08 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
小学班长竞选稿
2015/11/20 职场文书
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers
nginx配置指令之server_name的具体使用
2022/08/14 Servers