老生常谈JavaScript中的this关键字


Posted in Javascript onOctober 01, 2016

相对于很多其他的面向对象语言来说,this代表的就是当前对象。例如Java中的this就是编译期间确定的。而在 JavaScript 中,this 是动态绑定,或称为运行期绑定的

Java中的this

在以下代码中。this代表的就是p对象。

public class Test { 
public static void main(String[] args) {
Person p = new Person("zmt",30);
System.out.println(p.name);
}
}
class Person{ 
String name;
int age;
Person(String name,int age){
this.name = name;
this.age = age;
}
}

JavaScript中的this

JavaScript 中的 this 含义要丰富得多,它可以是全局对象、当前对象或者任意对象,这完全取决于函数的调用方式。JavaScript 中函数的调用有以下几种方式:作为对象方法调用,作为函数调用,作为构造函数调用,和使用 apply 或 call 调用。下面我们将按照调用方式的不同,分别讨论 this 的含义。

1.作为普通函数调用

在普通函数里,this代表的是window对象

function test(){
alert(this);
}
test();

2.作为构造函数调用

作用构造函数调用的时候,它代表的是当前对象。这个就和Java一样了。

function Person(name,age){
this.name = name;
this.age = age;
}

以上所述是小编给大家介绍的JavaScript中的this关键字,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
Mar 16 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
Dec 31 Javascript
js菜单点击显示或隐藏效果的简单实例
Jan 13 Javascript
JavaScript 学习笔记之操作符(续)
Jan 14 Javascript
javascript结合fileReader 实现上传图片
Jan 30 Javascript
js生成随机数的方法实例
Oct 16 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
Feb 25 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
Dec 18 Javascript
jQuery实现遮罩层登录对话框
Dec 29 Javascript
值得分享和收藏的xmlplus组件学习教程
May 05 Javascript
Vue自定义事件(详解)
Aug 19 Javascript
基于滚动条位置判断的简单实例
Dec 14 Javascript
ES6新特征数字、数组、字符串
Oct 01 #Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
Oct 01 #Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
Oct 01 #Javascript
javascript代码调试之console.log 用法图文详解
Sep 30 #Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
Sep 30 #Javascript
微信小程序 Audio API详解及实例代码
Sep 30 #Javascript
微信小程序 Record API详解及实例代码
Sep 30 #Javascript
You might like
php 保留字列表
2012/10/04 PHP
深入php之规范编程命名小结
2013/05/15 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
[33:33]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第二场 11.27
2020/11/30 DOTA
python批量提交沙箱问题实例
2014/10/08 Python
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
深入理解Python中字典的键的使用
2015/08/19 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
Pygame的程序开始示例代码
2020/05/07 Python
Python xlwt模块使用代码实例
2020/06/10 Python
浅谈Python 参数与变量
2020/06/20 Python
中国网上药店领导者:1药网
2017/02/16 全球购物
医院护理人员的自我评价分享
2013/10/04 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
消防安全责任书
2014/04/14 职场文书
第二课堂活动总结
2014/05/07 职场文书
采购部长岗位职责
2014/06/13 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
Python anaconda安装库命令详解
2021/10/16 Python