`
sntetwt
  • 浏览: 20210 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

javascript中的this到底指什么?

阅读更多
JavaScript:this 是什么?

定义:this是包含它的函数作为方法被调用时所属的对象。
说明:这句话有点咬嘴,但一个多余的字也没有,定义非常准确,我们可以分3部分来理解它!
    1、包含它的函数。2、作为方法被调用时。3、所属的对象。
看例子:
function to_green(){
<!--CRLF-->
   this.style.color="green";
<!--CRLF-->
}
<!--CRLF-->
to_green();
<!--CRLF-->
上面函数中的this指的是谁?
分析:包含this的函数是,to_green
     该函数作为方法被调用了
      该函数所属的对象是。。?我们知道默认情况下,都是window对象。
OK,this就是指的window对象了,to_green中执行语句也就变为,window.style.color="green"
这让window很上火,因为它并没有style这么个属性,所以该语句也就没什么作用。
我们在改一下。
window.load=function(){
<!--CRLF-->
    var example=document.getElementById("example");
<!--CRLF-->
    example.onclick=to_green;
<!--CRLF-->
}
<!--CRLF-->
这时this又是什么呢?
我们知道通过赋值操作,example对象的onclick得到to_green的方法,那么包含this的函数就是onclick喽,
那么this就是example引用的html对象喽。
this的环境可以随着函数被赋值给不同的对象而改变!
下面是完整的例子:
<script type="text/javascript">
<!--CRLF-->
     function to_green(){
<!--CRLF-->
        this.style.color="green";
<!--CRLF-->
    }
<!--CRLF-->
    function init_page(){
<!--CRLF-->
    var example=document.getElementById("example");
<!--CRLF-->
        example.onclick=to_green;
<!--CRLF-->
   }
<!--CRLF-->
   window.onload=init_page;
<!--CRLF-->
</script>
<!--CRLF-->
<a href="#" id="example">点击变绿</a>
分享到:
评论

相关推荐

    javascript中onclick(this)用法介绍

    this指触发事件的对象,接下来为大家分享下javascript中onclick(this)的用法,感兴趣的朋友可以参考下哈,希望对你有所帮助

    【JavaScript源代码】JavaScript函数this指向问题详解.docx

    JavaScript函数this指向问题详解  目录 一、 函数内 this 的指向1、普通函数2、构造函数3、对象方法4、事件绑定方法5、定时器函数6、立即执行函数二、改变函数内部 this 指向1、call 方法2、apply 方法3、bind ...

    javascript中this的四种用法

    在《javaScript语言精粹》这本书中,把 this 出现的场景分为四类,简单的说就是: 有对象就指向调用对象 没调用对象就指向全局对象 用new构造就指向新对象 通过 apply 或 call 或 bind 来改变 this 的所指。 1) 函数...

    深入解析JavaScript编程中的this关键字使用

    JavaScript 里的 this 到底指得是什么?很多人都会告诉你 this 指的是当前对象。这样理解对么?在大多数情况下确实没错。比如我们经常会在网页上写这样的 JavaScript: &lt;input type=submit value=提交 onclick=...

    Javascript中this绑定的3种方法与比较

    this 可以说是 javascript 中最耐人寻味的一个特性,学习this 的第一步就是明白 this 既不是指向函数自身也不指向函数的作用域。 this 实际上是在函数被调用时发生的绑定,它指向什么地方完全取决于函数在哪里被调用...

    JavaScript this 深入理解

    函数调用者与所有者 JavaScript 中函数(function) 存在调用者 与 所有者这两个概念,调用者是指调用函数的对象,通常是一个指向调用了当前函数的函数的引用,如果是顶层调用,那么caller=null, 大部分浏览器的...

    Javascript的this详解

    在理解javascript的this之前,首先先了解一下作用域。 作用域分为两种: 1、词法作用域:引擎在当前作用域或者嵌套的子作用域查找具有名称标识符的变量。(引擎如何查找和在哪查找。定义过程发生在代码书写阶段) ...

    JavaScript中的this原理及6种常见使用场景详解

    那么this到底指向的是什么? this 既不指向函数自身,也不指函数的词法作用域,而是调用函数时的对象! 二、使用场景 (一)普通函数的调用,this指向的是Window var name = '卡卡'; function cat(){ var name = '...

    JavaScript中的this使用详解

    this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。今天我们就来详细探讨下this的使用

    JavaScript中this详解

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

    PPK 谈 JavaScript 的 this 关键字 [翻译]

    先来看看函数 doSomething() 里的 this 到底是指向(refer to)了什么?function doSomething() { this.style.color = ‘#cc0000’; } JavaScript的 this 总指向所运行的函数“自己本身”。也就是说,它是一种指向...

    javascript函数的解释

    31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE) 32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length ...

    浅谈JavaScript中的this指针和引用知识

    但是总有一个原则,那就是this指的是调用函数的那个对象。 this指针在传统OO语言中,是在类中声明的,表示对象本身.在JavaScript中,this表示当前上下文,即调用者的引用 ********this永远指向的是(函数对象)的所有者 ...

    JavaScript中的this引用(推荐)

    但是总有一个原则,那就是this指的是调用函数的那个对象。 一、定义 1、this是函数内部的一个特殊对象(或this引用)–它引用的是函数据以执行的环境对象。 2、this引用是一种在JavaScript的代码中随时都可以使用...

    JavaScript中的this妙用实例分析

    本文实例讲述了JavaScript中的this妙用。分享给大家供大家参考,具体如下: JavaScript关键字this始JS脚本能够根据使用这个关键字的上下文将值传递给函数。 我们先来看如下一个网页,在用户单击链接之后,弹出一个...

    Javascript的this用法

    但是有一个总的原则,那就是this指的是,调用函数的那个对象。 下面分四种情况,详细讨论this的用法。 情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。 请看下面这段...

    JavaScript箭头函数中的this详解

    前言 箭头函数极大地简化了this的取值规则。 普通函数与箭头函数 普通函数指的是用function定义的函数: ...箭头函数没有自己的this值,箭头函数中所使用的this来自于函数作用域链。 这句话很简单,不

    JavaScript中this关键词的使用技巧、工作原理以及注意事项

     2、在函数外(顶级作用域中):在浏览器中this 指的是全局对象;在Node.js中指的是模块(module)的导出(exports)。  3、传递到eval&#40;&#41;中的字符串:如果eval&#40;&#41;是被直接调用的,this 指的是当前对象...

Global site tag (gtag.js) - Google Analytics