1. 程式人生 > 實用技巧 >Web全棧工程師之路(三)——JavaScript篇(十七)——this

Web全棧工程師之路(三)——JavaScript篇(十七)——this

以下是html程式碼,個人建議放在IDE裡執行,邊看效果,邊學習~

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>this</title>
    <script type="text/javascript">

    /*
        解析器在呼叫函式每次都會向函式內部傳遞一個隱含的引數:this
        this指向一個物件,這個物件我們稱為函式執行的上下文物件
        根據函式的呼叫方式的不同,this會指向不同的物件
            1.以函式形式呼叫時,this永遠是Window
            2.以方法形式呼叫時,this就是呼叫方法的那個物件
    
*/ function fun(a,b){ console.log(this); } fun(1,2); //輸出Window(以函式形式呼叫),即fun(1,2)相當於window.fun(1,2) var obj = { name:"李耳", sayName:fun }; var obj2 = { name:"老子", sayName:fun }; console.log(obj.sayName
== fun); //sayName與fun一樣 obj.sayName(); //輸出obj(以方法形式呼叫) obj2.sayName(); //輸出obj2(以方法形式呼叫) </script> </head> <body> </body> </html>