js 對call apply bind理解

來源:互聯網
上載者:User

標籤:nbsp   ccf   color   blog   數組   article   function   一個   art   

請參考 http://www.cnblogs.com/xljzlw/p/3775162.html
call apply
var mtt = { name: "mtt", sayHello: function (age) { console.log("hello, i am ", this.name + " " + age " years old"); }};var xjs = { name: "xjs ",
};mtt.sayHello(24);// hello, i am zlw 24 years old

apply參數需要是數組形式,而call參數需要用逗號隔開24,25
mtt .sayHello.call(xjs , 24);// hello, i am xjs 24 years old
mtt .sayHello.apply(xjs , [24]);// hello, i am xjs 24 years old

bind方法傳遞給調用函數的參數可以逐個列出,也可以寫在數組中。bind方法與call、apply最大的不同就是前者返回一個綁定內容相關的函數
mtt .sayHello.bind(xjs)(24); //hello, i am xlj 24 years oldmtt .sayHello.bind(xjs)([24]); //hello, i am xlj 24 years old

bind
var bind = Function.prototype.call.bind(Function.prototype.bind);var zlw = { name: "zlw" };function hello () {  console.log("hello, I am ", this.name);}bind(hello, zlw)() // hello, I am zlw
 

js 對call apply bind理解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.