老生常谈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 相关文章推荐
Ubuntu 11.10 安装Node.js的方法
Nov 30 Javascript
JS中不为人知的五种声明Number的方式简要概述
Feb 22 Javascript
jQuery中:gt选择器用法实例
Dec 29 Javascript
JavaScript实现图片自动加载的瀑布流效果
Apr 11 Javascript
对jQuary选择器的全面总结
Jun 20 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
微信小程序实战之轮播图(3)
Apr 17 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
Jun 09 jQuery
vue实现多个元素或多个组件之间动画效果
Sep 25 Javascript
node使用Mongoose类库实现简单的增删改查
Nov 08 Javascript
angular共享依赖的解决方案分享
Oct 15 Javascript
JavaScript中isPrototypeOf函数
Nov 07 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)
2013/06/21 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
Google 地图获取API Key详细教程
2016/08/06 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
python根据经纬度计算距离示例
2014/02/16 Python
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python制作CSDN免积分下载器
2015/03/10 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
用Python读取几十万行文本数据
2018/12/24 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
jupyter notebook实现显示行号
2020/04/13 Python
django使用channels实现通信的示例
2020/10/19 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
工商技校毕业生自荐信
2013/11/15 职场文书
工商管理专业职业生涯规划
2014/01/01 职场文书
初中生自我鉴定
2014/02/04 职场文书
班长演讲稿范文
2014/04/24 职场文书
文明城市标语
2014/06/16 职场文书
标准毕业生自荐信
2014/06/24 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
如何写辞职信
2015/05/13 职场文书
全民创业工作总结
2015/08/13 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
sqlserver连接错误之SQL评估期已过的问题解决
2022/03/23 SQL Server