W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
上下文綁定在函數(shù)型的語言當(dāng)中起著非常重要的作用。不過, jQuery 中對此似乎并沒有怎么強調(diào),它的很多函數(shù)都默認(rèn)處理了上下文,文檔中也會告訴你,在某個函數(shù)當(dāng)中, this 是什么東西,我覺得這種做法不太好。
jQuery 中有一個函數(shù)專門用于處理上下文綁定,雖然我覺得把 context 放在后面的格式非常別扭,不過好過沒有吧。
它有兩種使用方法,第一種就是最普通的,提供函數(shù),和上下文對象,然后返回一個新函數(shù):
$.proxy( function, context )
第二種,是提供一個上下文對象,及在這個上下文當(dāng)中的一個成員名,然后把這個上下文綁定到這個成員之后,再返回這個成員。
$.proxy( context, name )
看下面的例子,來理解上下文:
var o = { x: '123', f: function(){console.log(this.x)}, } var go = function(f){f()} o.f() // 123 go(o.f) // undefined go($.proxy(o.f, o)) //123 $.proxy(o, 'f')() //123
當(dāng)一個函數(shù)被傳遞之后,它就失去原先的上下文了。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: