深入理解js中this的用法


Posted in Javascript onMay 28, 2016

this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。

1、纯粹函数调用。

function test() {  
  this.x = 1;  
  alert(x);
}

test();

其实这里的this就是全局变量。看下面的例子就能很好的理解其实this就是全局对象Global。其实这里的this就是全局变量。看下面的例子就能很好的理解其实this就是全局对象Global。

var x = 1;
function test() {
  alert(this.x);
}
test();//1

var x = 1;
function test() {
  this.x = 0;
}
test();
alert(x);//0

2、作为方法调用,那么this就是指这个上级对象。

function test() {
  alert(this.x);
}

var o = {};
o.x = 1;
o.m = test;
o.m(); //1

3、作为构造函数调用。所谓构造函数,就是生成一个新的对象。这时,这个this就是指这个对象。

function test() {  
   this.x = 1;
}
var o = new test();
alert(o.x);//1

4、apply调用

var x = 0;
function test() {
  alert(this.x);
}

var o = {};
o.x = 1;
o.m = test;
o.m.apply(); //0
o.m.apply(o);//1

当apply没有参数时,表示为全局对象。所以值为0。

以上这篇深入理解js中this的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript实现自动生成网页元素功能(按钮、文本等)
Nov 21 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
Dec 08 Javascript
解析JavaScript数组方法reduce
Dec 12 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
Jan 23 Javascript
jquery dialog获取焦点的方法
Feb 09 Javascript
JS中setTimeout和setInterval的最大延时值详解
Feb 13 Javascript
js实现添加删除表格(两种方法)
Apr 27 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
Sep 16 Javascript
vue.js 实现点击展开收起动画效果
Jul 07 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
Sep 02 Javascript
JavaScript实现消消乐的源代码
Jan 12 Javascript
关于function类中定义变量this的简单说明
May 28 #Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
May 28 #Javascript
动态更新highcharts数据的实现方法
May 28 #Javascript
不同js异步函数同步的实现方法
May 28 #Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 #Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
May 28 #Javascript
jquery取消事件冒泡的三种方法(推荐)
May 28 #Javascript
You might like
是否存在第一台收音机的说法
2021/03/01 无线电
用phpmyadmin更改mysql5.0登录密码
2008/03/25 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
PHP通用检测函数集合
2011/02/08 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
不可错过的十本Python好书
2017/07/06 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
python中pyqtgraph知识点总结
2021/01/26 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
旅游管理毕业生自荐书
2014/02/02 职场文书
运动会拉拉队口号
2014/06/09 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
走群众路线剖析材料
2014/10/09 职场文书
公司承诺函范文
2015/01/21 职场文书
家长高考寄语
2015/02/27 职场文书
辩护词范文大全
2015/05/21 职场文书
数学备课组工作总结
2015/08/12 职场文书
病假条格式范文
2015/08/17 职场文书
2016年端午节寄语
2015/12/04 职场文书
goland 设置project gopath的操作
2021/05/06 Golang
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS