`

javascript 中的this指针

阅读更多
this   指钟是JavaScript语言中的一个特殊指钟,他在代码运行时,指向调用this语句的当前对象.
如果是事件绑定函数,则指向被绑定的元素本身.
<script   type= "text/javascript ">

//by   Go_Rush(阿舜)   from     http://ashun.cnblogs.com/

alert(this===window)     //true     直
接调用的时候,指向window本身

var   gorush={
        f:function(){
                alert(this===gorush)         //true
        }
}

gorush.f()       //指向   gorush对象

document.onclick=function(){      
        alert(this===document)     //true   ,指向   document
}

/*
element.onclick=function(){
        alert(this===element)           //true
}
*/

</script>


特别要值得注意的是,当多个对象嵌套的时候,   this   是指向最近调用它的那个对象的
obj1={
        obj2:{
                f:function(){
                        alert(this===obj1.obj2)     //这里   this   并不是指向   obj1的哦。
                }
        }
}
obj1.obj2.f()
再举一个非常容易出错的例子,     点这里看相关链接
<script   type= "text/javascript ">
//by   Go_Rush   from   http://ashun.cnblogs.com/

//以下gorush1中   this的用法是错误的,这个错误10个程序员6个犯
var   gorush1={
        showMsg:function(){alert( "hello,world ")},
        doAjax:function(){
                new   Ajax.Request( "index.php ",{onSuccess:function(){
                        this.showMsg()
                }})
        }                  
}

//gorush2中的才是对的
var   gorush2={
        showMsg:function(){alert( "hello,world ")},
        doAjax:function(){
                var   self=this;         //备份   gorush2对象  
                new   Ajax.Request( "index.php ",{onSuccess:function(){
                        self.showMsg()
                }})
        }                  
}

</script>
<!-- <span>预留的文字链广告位</span> //-->

分享到:
评论

相关推荐

    探寻JavaScript中this指针指向_.docx

    探寻JavaScript中this指针指向 JavaScript中的this指针指向是一个复杂的问题,需要深入了解JavaScript的函数调用机制和对象模型。这篇文章将深入探讨this指针指向的问题,并提供多个例子来说明this指针指向的规律。...

    探寻JavaScript中this指针指向

    探寻JavaScript中this指针指向 首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为...

    高手详解javascript中的this指针

    `this`在JavaScript中并不像其他静态类型语言(如Java或C++)中的指针那样工作,而是根据函数调用的方式动态确定其值。以下是对`this`指针的详细解释: 1. **全局作用域中的`this`** 在全局作用域中,`this`通常...

    详解Javascript 中的this指针

    ### 详解Javascript中的`this`指针 在深入探讨`this`指针之前,我们首先应当明确`this`在JavaScript中的基本概念与作用。`this`关键字在JavaScript中扮演了一个非常核心的角色,它是一个特殊的变量,用于引用调用...

    对JavaScript中this指针的新理解分享

    JavaScript 中的 `this` 指针是动态绑定的,它的值取决于函数的调用方式。理解这四种调用模式对于深入掌握 JavaScript 的面向对象编程至关重要。在方法调用模式中,`this` 指向调用该方法的对象;在函数调用模式中,...

    详解Javascript 中的this指针.doc

    在JavaScript中,`this`关键字是一个非常重要的概念,它用于引用当前上下文中的对象。由于JavaScript是一种基于原型的动态类型语言,`this`的值在不同的执行环境中可能会有所不同,这使得理解和使用`this`成为了一个...

    高手详解javascript中的this指针借鉴.pdf

    在JavaScript中,`this`关键字是一个至关重要的概念,它用于引用函数或方法执行时的上下文对象。`this`的值取决于函数调用的方式,而不是函数定义的位置。在JavaScript中,`this`的四种主要绑定方式包括:默认绑定、...

    高手详解javascript中的this指针.pdf

    在JavaScript中,`this`关键字是一个非常关键的概念,它用于在函数或方法中引用当前上下文的对象。在不同的情境下,`this`的值可能会有所变化,这使得理解和掌握`this`的工作原理变得至关重要。 首先,让我们回顾...

    老生常谈Javascript中的原型和this指针

    1、Javascript中的原型: 原型prototype是Javascript中特有的一个概念。通过原型,Javascript可以实现继承机制。 Javascript本身是基于原型的,每一个对象都有一个prototype属性。而Object对象的prototype属性为null...

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

    this指针在传统OO语言中,是在类中声明的,表示对象本身.在JavaScript中,this表示当前上下文,即调用者的引用 ********this永远指向的是(函数对象)的所有者 this和全局对象: var a = 1; function foo(){ var b = 2; ...

    小议Javascript中的this指针

    在JavaScript编程中,`this`关键字是一个非常核心的概念,它指向函数执行时的上下文对象。正确理解和运用`this`是JavaScript开发者必须掌握的技能之一。在不同的执行环境中,`this`的指向也有所不同,特别是在全局...

    改变javascript函数内部this指针指向的三种方法

    而函数中的this关键字是一个指针,它指向函数执行时的上下文。this的指向是动态的,它根据函数的调用方式不同而变化,这常常让开发者感到困惑。本文将详细阐述如何在JavaScript中改变函数内部的this指向,主要有以下...

    史上最全的前端资源汇总

    - **JavaScript中的this陷阱的最全收集**:解决JavaScript中this指针问题的详细指南。 - **JS函数式编程指南**:JavaScript函数式编程的深入探讨。 - **JavaScript Promise迷你书(中文版)**:关于Promise的详细...

    你必须知道的Javascript知识点之&quot;this指针&quot;的应用

    本文详细讲解了JavaScript中至关重要的概念之一:this指针的应用。对于JavaScript开发者来说,理解this指针的工作方式对于编写可预测且有效的代码至关重要。 首先,我们要明白在JavaScript中,this指针的指向并不是...

Global site tag (gtag.js) - Google Analytics