1. 程式人生 > >this的指向及作用,function的封裝

this的指向及作用,function的封裝

  • this的應用及指向問題

this是Javascript語言的一個關鍵字。它代表函式執行時,自動生成的一個內部物件,只能在函式內部使用。隨著函式使用場合的不同,this的值會發生變化。但是有一個總的原則,那就是this指的是呼叫函式的那個物件。

this的使用情況:

1、作為普通函式呼叫,這是函式的最通常用法,屬於全域性性呼叫,因此this就代表全域性物件。

2、作為物件方法的呼叫,函式還可以作為某個物件的方法呼叫,這時this就指這個上級物件。

3、作為建構函式呼叫,所謂建構函式,就是通過這個函式生成一個新物件(例項)。這時,this就指這個新物件(例項)。

  • apply 、 call 、bind的介紹(函式的方法)

apply 、 call 、bind 三者都是用來改變函式的this物件的指向的;第一個引數都是this要指向的物件,也就是想指定的上下文;從第二個引數開始,就是函式的本身的引數;

bind 是返回對應函式,便於稍後呼叫;apply 、call 則是立即呼叫 。

我們都知道定時器的匿名函式裡不能寫this,它會指向window

但有了bind方法以後,我們可以隨意設定this 的指向

  • 物件的複習、名稱空間

名稱空間namespace(某些語言中叫package),是一個在靜態語言中常見的概念。它可以幫助我們更好地整理程式碼,並可避免命名衝突。也就是通過建立一個簡單物件字面量來打包所有的相關函式和變數。這個簡單物件字面量模擬了名稱空間的作用。

  1. 掌握相容的解決方案

獲取事件物件、事件繫結、移除事件、阻止預設事件、阻止事件冒泡、獲取事件物件目標

return false=ev.preventDefault+ev.stopPropagation

var ev=ev||window.event;

addEventListener  attachEvent

removeEventListener  detachEvent

preventDefault  returnValue

stopPropagation  cancelBubble

target  srcElement