js中call apply bind的區別

2022-05-23 17:30:10 字數 556 閱讀 2991

call 函式上的公共方法,主要是用來改變this

function a()

a.call('a',1,2,3)

function a()

function b()

let c = new b()

console.log(c.a) // 1

我們可以使用call改變父類的this,實現函式b繼承函式a的私有屬性

function a(q,w,e)

let arr =[1,2,3]

bind和call一樣。唯一不同的是bind不會執行函式,且會返回乙個改變this後的新的函式。我們可以利用這個特性轉殖函式

function a()

let c = a.bind(null)

console.log(c) // ƒ a

This學習實現call apply bind

不說太多,直入主題 由淺入比淺深一點 function test str let obj 才疏學淺,歡迎補充與建議 實現步驟 只在函式上實現該功能 確定所傳物件有效 將當前函式this繫結到該物件上 執行該物件繫結的此函式 function.prototype.mycall function con...

如何模擬實現乙個call apply bind函式

call模擬實現 首先我們實現繫結this功能。比如我們有乙個foo函式 function getname 還有乙個wechat物件 const wechat 我們希望實現 getname.call wechat fedaily以wechat和getname這個為例,這裡的this即getname,...

js之旅(七)js中this

本文講述js中this的指向 介紹es5和es6中this的不同 在js es5中,使用的是function函式,誰在呼叫function,this就指向誰,有以下幾個特點 1.1 this最終指向的是呼叫它的物件 這個特點的就是es5中this的指向,其它特點都是對它的補充,如下示例 functi...