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),是一個在靜態語言中常見的概念。它可以幫助我們更好地整理程式碼,並可避免命名衝突。也就是通過建立一個簡單物件字面量來打包所有的相關函式和變數。這個簡單物件字面量模擬了名稱空間的作用。
- 掌握相容的解決方案
獲取事件物件、事件繫結、移除事件、阻止預設事件、阻止事件冒泡、獲取事件物件目標
return false=ev.preventDefault+ev.stopPropagation
var ev=ev||window.event;
addEventListener attachEvent
removeEventListener detachEvent
preventDefault returnValue
stopPropagation cancelBubble
target srcElement