老生常谈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 相关文章推荐
toString()一个会自动调用的方法
Feb 08 Javascript
javascript 用函数语句和表达式定义函数的区别详解
Jan 06 Javascript
Javascript 浮点运算精度问题分析与解决
Mar 26 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
Oct 12 Javascript
java中String类型变量的赋值问题介绍
Mar 23 Javascript
js 函数式编程学习笔记
Mar 25 Javascript
canvas实现弧形可拖动进度条效果
May 11 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
vue 简单自动补全的输入框的示例
Mar 12 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
Sep 03 Javascript
基于vue实现一个禅道主页拖拽效果
May 27 Javascript
在elementui中Notification组件添加点击事件实例
Nov 11 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 array 的加法操作代码
2010/07/24 PHP
php图片缩放实现方法
2014/02/20 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
如何实现JS函数的重载
2006/09/22 Javascript
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
python之yield表达式学习
2014/09/02 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
python3实现随机数
2018/06/25 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
Python操作Jira库常用方法解析
2020/04/10 Python
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
美国现代家具网站:Design Within Reach
2018/07/19 全球购物
三星英国官网:Samsung英国
2018/09/25 全球购物
匈牙利最大的健身制造商和销售商:inSPORTline
2018/10/30 全球购物
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
应届生求职自荐信
2014/07/04 职场文书
2016公司年会通知范文
2015/04/25 职场文书
会议简报格式范文
2015/07/20 职场文书
施工安全协议书
2016/03/22 职场文书
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript