,,js中的this关键字详解

,,js中的this关键字详解

这是Javascript语言中的一个关键字。它表示函数运行时自动生成的内部对象,只能在函数内部使用。下面有四种情况。这个的用法有详细讨论,感兴趣的朋友可以了解一下。

这是Javascript语言中的一个关键字。它表示函数运行时自动生成的内部对象,只能在函数内部使用。比如复制代码如下:function test(){

this . x=1;

}该值将根据函数的用法而变化。但是有一个普遍的原则,这是指调用函数的对象。

在以下四种情况下将详细讨论它的用法。

情况一:纯粹的函数调用

这是函数最常见的用法,属于全局调用,所以这代表全局对象Global。

请看下面的代码。它的运行结果是1。复制代码如下:函数test(){

this . x=1;

alert(this . x);

}

test();//1为了证明这是一个全局对象,我对代码做了一些修改:复制代码如下:var x=1;

功能测试(){

alert(this . x);

}

test();//1运行结果还是1。再改一遍:复制代码如下:var x=1;

功能测试(){

this . x=0;

}

test();

警报(x);//0情况二:作为对象方法的调用

一个函数也可以作为一个对象的方法被调用,在这种情况下,这是指这个上级对象。复制代码如下:函数test(){

alert(this . x);

}

var o={ };

o . x=1;

o.m=测试;

o . m();//1情况三 作为构造函数调用

所谓构造函数就是通过这个函数生成一个新的对象。此时,这指的是这个新对象。复制代码如下:函数test(){

this . x=1;

}

var o=new test();

alert(o . x);//1运行结果为1。为了说明此时这不是一个全局对象,我对代码做了一些修改:复制代码如下:var x=2;

功能测试(){

this . x=1;

}

var o=new test();

警报(x);//2运行结果是2,说明全局变量x的值根本没变。

情况四 apply调用

Apply()是函数对象的一种方法。它的作用是改变函数的调用对象,它的第一个参数表示改变后的函数的调用对象。因此,这里指的是第一个参数。复制代码如下:var x=0;

功能测试(){

alert(this . x);

}

var o={ };

o . x=1;

o.m=测试;

o . m . apply();//0当apply()的参数为空时,默认调用全局对象。所以此时的运行结果是0,证明这指的是全局对象。

如果最后一行代码修改为复制代码如下:o . m . apply(o);//1运行结果变成1,证明这代表对象o。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于js的面试题,前段js面试题
  • 关于js的面试题,前段js面试题,送你43道JS面试题(收藏)
  • 关于js中的全等和不全等,等于和不等于问题的关系,
  • 关于js中的全等和不全等,等于和不等于问题的关系,,关于JS中的全等和不全等、等于和不等于问题
  • 全面了解js中的匿名函数有哪些,全面了解js中的匿名函数是什么
  • 全面了解js中的匿名函数有哪些,全面了解js中的匿名函数是什么,全面了解JS中的匿名函数
  • 使用js实现简单的图片切换功能的方法,使用js实现简单的图片切换功能命令
  • 使用js实现简单的图片切换功能的方法,使用js实现简单的图片切换功能命令,使用JS实现简单的图片切换功能
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法,使用js实现数据格式化
  • 使用js代码实现点击按钮下载文件的方法,使用js代码实现点击按钮下载文件并安装
  • 使用js代码实现点击按钮下载文件的方法,使用js代码实现点击按钮下载文件并安装,使用JS代码实现点击按钮下载文件
  • 代码错误未结束的字符串常量,代码错误未结束的字符串常量,js 未结束的字符串常量错误解决方法
  • 什么叫jsp,jsp的概念是什么
  • 什么叫jsp,JSP是指
  • 留言与评论(共有 条评论)
       
    验证码: