老生常谈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在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 Javascript
HTML Color Picker(js拾色器效果)
Aug 27 Javascript
js操纵dom生成下拉列表框的方法
Feb 24 Javascript
javascript实现带下拉子菜单的导航菜单效果
May 14 Javascript
js仿黑客帝国字母掉落效果代码分享
Nov 08 Javascript
jQuery判断浏览器并动态调整select宽度的方法
Mar 02 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
Aug 05 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
Dec 28 Javascript
基于Node.js的大文件分片上传示例
Jun 19 Javascript
vue中使用element组件时事件想要传递其他参数的问题
Sep 18 Javascript
React Native项目框架搭建的一些心得体会
May 28 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
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
Laravel框架表单验证详解
2014/09/04 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
PHP手机号中间四位用星号*代替显示的实例
2017/06/02 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
vue中引用阿里字体图标的方法
2018/02/10 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
2019/03/29 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
JavaScript 实现继承的几种方式
2021/02/19 Javascript
python实现大转盘抽奖效果
2019/01/22 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
Python 从attribute到property详解
2020/03/05 Python
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
结婚典礼证婚词
2014/01/08 职场文书
关于母亲节的感言
2014/02/04 职场文书
年终总结会主持词
2014/03/25 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
幼儿园六一儿童节活动方案
2014/08/26 职场文书
经贸日语专业自荐信
2014/09/02 职场文书
三方协议书
2015/01/27 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
golang中的并发和并行
2021/05/08 Golang
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang