天天看點

jQuery函數上下文函數上下文情況

函數上下文

Jquery函數的上下文是什麼,取決于函數的調用而不是函數的定義。

情況

  1. 函數+圓括号直接調用
    function add(){
    				console.log(this)
    			}
    add();
               
     注意:内部的this是window對象
    jQuery函數上下文函數上下文情況
  2. 對象.函數();調用
    var arr={
    				name:'helloworld',
    				play:function(){
    					console.log(this);
    				}
    			}
    arr.play();
               
    注意:内部的this是是這個對象
    jQuery函數上下文函數上下文情況
  3. 函數作為事件處理函數
    var more = document.querySelector(".more");
    more.onclick = function () {
         console.log( this );
            };
               
    注意:内部的this是觸發這個事件的元素
    jQuery函數上下文函數上下文情況
  4. 定時器調用函數
    setTimeout(function () {
                console.log(this);
            },1000);
               
    注意:内部的this是window對象
    jQuery函數上下文函數上下文情況
  5. 調用從數組中索引的函數
    var arr = [10,20,30, function () {
                console.log( this );
            }];
      arr[3]();//[10, 20, 30, ƒ]
               
    注意:内部的this表示數組本身
    jQuery函數上下文函數上下文情況