老生常谈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 相关文章推荐
javascript 另一种图片滚动切换效果思路
Apr 20 Javascript
使用堆实现Top K算法(JS实现)
Dec 25 Javascript
input点击后placeholder中的提示消息消失
Jan 15 Javascript
JS实现的打字机效果完整实例
Jun 20 Javascript
Webpack框架核心概念(知识点整理)
Dec 22 Javascript
vue中动态添加class类名的方法
Sep 05 Javascript
Puppeteer环境搭建的详细步骤
Sep 21 Javascript
JS面试题大坑之隐式类型转换实例代码
Oct 14 Javascript
Vue项目引进ElementUI组件的方法
Nov 11 Javascript
详解Ant Design of React的安装和使用方法
Dec 27 Javascript
基于vue实现圆形菜单栏组件
Jul 05 Javascript
vue 使用lodash实现对象数组深拷贝操作
Sep 10 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 xml文件操作代码(一)
2009/03/20 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
PHP Include文件实例讲解
2019/02/15 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
深入探讨JavaScript的最基本部分之执行上下文
2019/02/12 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
Python urlopen 使用小示例
2008/09/06 Python
python批量修改文件名的实现代码
2014/09/01 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
Python数据存储之 h5py详解
2019/12/26 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
python 安装移动复制第三方库操作
2020/07/13 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
学校岗位设置方案
2014/01/16 职场文书
公司端午节活动方案
2014/02/04 职场文书
社会实践活动总结报告
2014/04/29 职场文书
给市场的环保建议书
2014/05/14 职场文书
体育部部长竞选稿
2015/11/21 职场文书
Python WSGI 规范简介
2021/04/11 Python
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers