• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > Javascript的this用法

Javascript的this用法

作者:君邪儿 字体:[增加 减小] 来源:互联网 时间:2017-05-11

君邪儿通过本文主要向大家介绍了javascript alert用法,javascript中 的用法,javascript 用法,javascript中if的用法,javascript:next this等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

this是Javascript语言的一个关键字。

它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如,

  function test(){
    this.x = 1;
  }
</div>

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

下面分四种情况,详细讨论this的用法。

情况一:纯粹的函数调用

这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。

请看下面这段代码,它的运行结果是1。

  function test(){
    this.x = 1;
    alert(this.x);
  }
  test(); // 1
</div>

为了证明this就是全局对象,我对代码做一些改变:

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

运行结果还是1。再变一下:

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

情况二:作为对象方法的调用

函数还可以作为某个对象的方法调用,这时this就指这个上级对象。

  function test(){
    alert(this.x);
  }
  var o = {};
  o.x = 1;
  o.m = test;
  o.m(); // 1
</div>

情况三 作为构造函数调用

所谓构造函数,就是通过这个函数生成一个新对象(object)。这时,this就指这个新对象。

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

运行结果为1。为了表明这时this不是全局对象,我对代码做一些改变:

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

运行结果为2,表明全局变量x的值根本没变。

情况四 apply调用

apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。

  var x = 0;
  function test(){
    alert(this.x);
  }
  var o={};
  o.x = 1;
  o.m = test;
  o.m.apply(); //0
</div>

apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为0,证明this指的是全局对象。

如果把最后一行代码修改为

  o.m.apply(o); //1

运行结果就变成了1,证明了这时this代表的是对象o。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JavaScript中this的用法及this在不同应用场景的作用解析
  • Javascript的this用法

相关文章

  • 2017-05-11jQuery弹出层插件popShow(改进版)用法示例
  • 2017-05-11jQuery滚动监听实现商城楼梯式导航效果
  • 2017-05-11简单易懂的天气插件(代码分享)
  • 2017-05-11JavaScript基于DOM操作实现简单的数学运算功能示例
  • 2017-05-11学习使用jQuery表单验证插件和日历插件
  • 2017-05-11Vue2.0 UI框架ElementUI使用方法详解
  • 2017-05-11JSON键值对序列化和反序列化解析
  • 2017-05-11微信小程序实战之自定义模态弹窗(8)
  • 2017-05-11js实现省份下拉菜单效果
  • 2017-05-11基于JavaScript实现全选、不选和反选效果

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • bootstrap fileinput 插件使用项目总结(经验)
    • js实现百度搜索提示框
    • js实现类bootstrap模态框动画
    • 详解AngularJs ui-router 路由的简单介绍
    • jquery将标签元素的高设为屏幕的百分比
    • jQuery判断邮箱格式对错实例代码讲解
    • 分享bootstrap学习笔记心得(组件及其属性)
    • JavaScript实现数组降维详解
    • js:return;return true;return false;区别
    • js仿搜狐视频记录片列表展示效果

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有