JavaScript之this解析
阿新 • • 發佈:2018-12-07
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>