通過bind 改變事件處理函式中this的指向
mdn解釋
bind方法會建立乙個新函式 稱為繫結函式
當呼叫這個繫結函式時
繫結函式會以建立它時傳入bind()方法的第乙個引數作為this
傳入bind()方法的第二個以及以後的引數
按照順序作為原函式的引數來呼叫原函式
注意 :bind方法的返回值是函式
// 建立乙個物件
var obj = ,
bar:
function(na)
}// // 呼叫物件中的方法
obj.fun();
// 建立乙個函式
var o = function fn()// o();
// o.bind(obj)();
// 或者
// 這時候this指向了obj
// var o2 = o.bind(obj );
var o2 = o.bind(obj,obj.na )
o2();
//**段
}**段
setinterval(function() , 1000);
}呼叫物件
obj.fun();
原來的物件this指向 function 是區域性物件 區域性物件的方法只能在區域性物件裡使用
可以利用bind()把fun()方法中的this繫結到物件上 並且可以傳進去額外的引數
當返回的繫結函式被呼叫時 這些額外的引數會自動傳入繫結函式
類似css中的mixin
現在有了bind 通過bind 把區域性物件中的屬性和方法繫結到另乙個物件 讓另乙個物件也能使用這個物件的方法
bind 函式中sockaddr的意義
ip 的意義 對於client端來說,如果我們繫結了ip表明,這個ip是它的源ip。對於server端來講,繫結了ip表明 server只能接受這個ip上的連線 也就是固定網絡卡介面了 舉個列子如果server 繫結的是127.0.0.1 的話,它代表只能接本機的資料報不接受外面發生的資料報,也就是...
網路程式設計中的bind 函式
一 作用 給我們的socket繫結埠號與具體位址 二 樣子int bind socket s,const sockaddr addr,int namelen s 標識未繫結套接字的描述符。addr 待定namelen 名稱引數所指向的值的長度 以位元組為單位 三 引數 示例bind sky serv...
改變函式中的this
有這樣的3個方法可以改變函式體的this指向 var test function x bind 方法,bind方法返回乙個指定this物件的函式,對源函式沒有影響。var bdingfn test.bind bdingfn 9 bindding 9 另外,可以給test函式換乙個this物件 var...