this的概念

1、關于函數中this

1.1、this的概念

this指的是你的函數執行時所在的執行環境(作用域),也就是什么調用this,那么this就指向哪里。

1.2、this的具體指向

this的指向一般分為四種:
1、在全局范圍調用this的時候,this指向windows。例子如下:

<script type="text/javascript">
        console.log(this)
    </script>

2、當一個函數被當成一個對象的方法來調用時,this指向這個對象。例子如下:

<script type="text/javascript">
        var a = {
            name:"a",
            fun:function(){
                return this
            }
        }
        console.log(a.fun())
    </script>

3、通過事件來調用時,this指向這個函數的調用者。例子如下:

<body>
        <button>click</button>
    </body>
<script type="text/javascript">
        var btn = document.querySelector('button');
        btn.addEventListener('click', function() {
            console.log(this); //this
        })
    </script>

4、在構造函數中的this指向它的實例化對象。例子如下:

<script type="text/javascript">
        function Fun(name){
            this.name = name;
        }
        var fun1 = new Fun("fun");
        console.log(fun1)
    </script>
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,890評論 0 38
  • Swift1> Swift和OC的區別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,136評論 1 32
  • 第3章 基本概念 3.1 語法 3.2 關鍵字和保留字 3.3 變量 3.4 數據類型 5種簡單數據類型:Unde...
    RickCole閱讀 5,156評論 0 21
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,268評論 0 4
  • 函數和對象 1、函數 1.1 函數概述 函數對于任何一門語言來說都是核心的概念。通過函數可以封裝任意多條語句,而且...
    道無虛閱讀 4,635評論 0 5