this详解

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
        
            /*
             * 解析器在调用函数每次都会向函数内部传递进一个隐含的参数,
             *  这个隐含的参数就是this,this指向的是一个对象,
             *  这个对象我们称为函数执行的 上下文对象,
             *  根据函数的调用方式的不同,this会指向不同的对象
             *      1.以函数的形式调用时,this永远都是window
             *      2.以方法的形式调用时,this就是调用方法的那个对象
             */
            
            function fun(){
                //console.log("a = "+a+", b = "+b);
                console.log(this.name);
            }
            
            //fun();
            
            //创建一个对象
            var obj = {
                name:"孙悟空",
                sayName:fun
            };
            
            var obj2 = {
                name:"沙和尚",
                sayName:fun
            };
            
            //console.log(obj.sayName == fun);
            var name = "全局的name属性";
            //obj.sayName();
            //以函数形式调用,this是window
            //fun();
            
            //以方法的形式调用,this是调用方法的对象
            //obj.sayName();
            obj2.sayName();
            
        </script>
    </head>
    <body>
    </body>
</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • this释义 this翻译为上下文,每次我看到这个解释都会产生一种迷糊的感觉,也不知道是哪位大神第一个把this翻...
    flywanly阅读 650评论 2 1
  • 和其他语言不同,JavaScript的this总是指向一个对象,this的“超级”延迟绑定决定了this到对象的绑...
    杨慧莉阅读 338评论 4 1
  • 前端开发人员在进阶过程中总会遇到一个疑难杂症:Javascript的this,.this到底指向什么那个对象啊?要...
    Mr云台阅读 747评论 4 4
  • this引起的错误详解 我们在学习React Native的过程中,肯定经常遇见过undefined is ...
    _ck_阅读 1,340评论 0 0
  • 不论是面向对象,还是基于对象的语言,都会有this,我更喜欢叫他this指针,如果你不理解指针,认为它是个引用也无...
    faremax阅读 693评论 2 1