第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

C++ bind函數(shù)?

C++ bind函數(shù)?

有只小跳蛙 2019-02-06 14:06:33
#include<iostream>#include<algorithm>//#include<vector>#include<string>#include<functional>using namespace std;//using std::placeholders::_1; //我使用了”using namespace std“了啊,那為什么我把這里注釋掉了就不正確了呢?bool check_size(const string &s , string::size_type sz){return s.size() > sz ;}int main(){auto check6 = bind(check_size , _1 , 6);string s = "hello";bool b1 = check6(s);}
查看完整描述

2 回答

?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

綁定函數(shù)bind()最簡單的用法是創(chuàng)建一個(gè)函數(shù),使這個(gè)函數(shù)不論怎么調(diào)用都有同樣的this值。不同于call和apply只是單純地設(shè)置this的值后傳參,它還會將所有傳入bind()方法中的實(shí)參(第一個(gè)參數(shù)之后的參數(shù))與this一起綁定。

關(guān)于這個(gè)特性看《JS權(quán)威指南》原文的例子:
var sum = function(x,y) { return x + y }; var succ = sum.bind(null, 1); //讓this指向null,其后的實(shí)參也會作為實(shí)參傳入被綁定的函數(shù)sum succ(2); // => 3: 可以看到1綁定到了sum函數(shù)中的x
其次, bind()方法所返回的函數(shù)的length(形參數(shù)量)等于原函數(shù)的形參數(shù)量減去傳入bind()方法中的實(shí)參數(shù)量(第一個(gè)參數(shù)以后的所有參數(shù)),因?yàn)閭魅隻ind中的實(shí)參都會綁定到原函數(shù)的形參,舉個(gè)例子:
function func(a,b,c,d){...} //func的length為4 var after = func.bind(null,1,2); //這里輸入了兩個(gè)實(shí)參(1,2)綁定到了func函數(shù)的a,b console.log(after.length); //after的length為2
第三,當(dāng)bind()所返回的函數(shù)用作構(gòu)造函數(shù)的時(shí)候, 傳入bind()的this將被忽略,實(shí)參會全部傳入原函數(shù),這樣說很抽象,舉個(gè)例子:
function original(x){ this.a = 1; this.b = function(){return this.a + x} } var obj={ a = 10 } var newObj = new(original.bind(obj, 2)); //傳入了一個(gè)實(shí)參2 console.log(newObj.a); //輸出1, 說明返回的函數(shù)用作構(gòu)造函數(shù)時(shí)obj(this的值)被忽略了 console.log(newObj.b()); //輸出3 ,說明傳入的實(shí)參2傳入了原函數(shù)original
以上就是ES5中bind方法的特性, 這種技術(shù)也被稱為函數(shù)柯里化。這種技術(shù)將多個(gè)參數(shù)的函數(shù)變成只帶一個(gè)參數(shù)的函數(shù)。bind方法就是該技術(shù)在js中的實(shí)踐。



查看完整回答
反對 回復(fù) 2019-03-15
  • 2 回答
  • 0 關(guān)注
  • 1183 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號