1. 程式人生 > >JavaScript之this解析

JavaScript之this解析

1、解析器在呼叫函式每次都會向函式內部傳遞進一個隱含的引數,這個隱含的引數就是this,this指向的是一個物件,這個物件我們稱為函式執行的上下文物件,根據函式的呼叫方式不同,this會指向不同的物件

  (1)、以函式的形式呼叫時,this永遠都是window

  (2)、以方法的形式呼叫時,this就是呼叫方法的那個物件

<script type="text/javascript">

            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>