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 相关文章推荐
Prototype 工具函数 学习
Jul 23 Javascript
JavaScript splice()方法详解
Sep 22 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
Nov 20 Javascript
jquery zTree异步加载简单实例讲解
Feb 25 Javascript
Javascript获取图片原始宽度和高度的方法详解
Sep 20 Javascript
js放到head中失效的原因与解决方法
Mar 07 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
vue动画打包后失效问题的解决方法
Sep 18 Javascript
微信小程序登录session的使用
Mar 17 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
Apr 28 Javascript
解决vuex数据页面刷新后初始化操作
Jul 26 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
Oct 27 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抓取页面的几种方法详解
2013/06/17 PHP
php获取汉字首字母的函数
2013/11/07 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
超级退弹代码
2008/07/07 Javascript
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
javascript添加前置0(补零)的几种方法
2017/01/05 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
在Python的Django框架中创建语言文件
2015/07/27 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
postman和python mock测试过程图解
2020/02/22 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
介绍一下write命令
2014/08/10 面试题
Windows和Linux动态库应用异同
2016/07/28 面试题
上班睡觉检讨书
2014/01/09 职场文书
顶撞领导检讨书
2014/01/29 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript