老生常谈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 相关文章推荐
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
Apr 25 Javascript
jquery ajax post提交数据乱码
Nov 05 Javascript
jQuery简单实现banner图片切换
Jan 02 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
Jan 13 Javascript
原生js与jQuery实现简单的tab切换特效对比
Jul 30 Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
Oct 25 Javascript
详解微信小程序 页面跳转 传递参数
Dec 08 Javascript
ES6/JavaScript使用技巧分享
Dec 14 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
May 04 Javascript
基于webpack4搭建的react项目框架的方法
Jun 30 Javascript
JavaScript显式数据类型转换详解
Mar 18 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 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
hadoop中一些常用的命令介绍
2013/06/19 PHP
php筛选不存在的图片资源
2015/04/28 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
Jquery实现的角色左右选择特效
2014/05/21 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
JS实现简单省市二级联动
2019/11/27 Javascript
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
python super的使用方法及实例详解
2019/09/25 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
CSS3实现王者匹配时的粒子动画效果
2019/04/12 HTML / CSS
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
运动会口号8字
2014/06/07 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
幼儿教师自我剖析材料
2014/09/29 职场文书
学校开学标语
2014/10/06 职场文书
幸福终点站观后感
2015/06/04 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书