老生常谈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 相关文章推荐
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 Javascript
JS 删除字符串最后一个字符的实现代码
Feb 20 Javascript
JS中的构造函数详细解析
Mar 10 Javascript
jQuery中mouseover事件用法实例
Dec 26 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
Jan 23 Javascript
Google 地图叠加层实例讲解
Aug 06 Javascript
webpack+vue中使用别名路径引用静态图片地址
Nov 20 Javascript
利用angular、react和vue实现相同的面试题组件
Feb 19 Javascript
ES6 系列之 Generator 的自动执行的方法示例
Oct 19 Javascript
在vue项目中引入vue-beauty操作方法
Feb 11 Javascript
小程序实现短信登录倒计时
Jul 12 Javascript
npx create-react-app xxx创建项目报错的解决办法
Feb 17 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_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
Yii实现自动加载类地图的方法
2015/04/01 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
php生成word并下载代码实例
2019/03/15 PHP
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
Python3基础之函数用法
2014/08/13 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
python-numpy-指数分布实例详解
2019/12/07 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
"序列点" 是什么
2016/07/29 面试题
文明餐桌活动方案
2014/02/11 职场文书
教师现实表现材料
2014/02/14 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
工作收入证明范本
2015/06/12 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python
Python数据类型最全知识总结
2021/05/31 Python