成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

原生js如何實現(xiàn)call,apply以及bind

瀏覽:199日期:2024-04-01 09:39:02
1、實現(xiàn)call

步驟:

將函數(shù)設為對象的屬性; 指定this到函數(shù),并傳入給定參數(shù)執(zhí)行函數(shù); 執(zhí)行之后刪除這個函數(shù); 如果不傳入?yún)?shù),默認指向window;

Function.prototype.mycall = function (context, ...args) { //判斷是否為函數(shù),如果不是函數(shù),則報錯 if (typeof this !== 'function') {throw new Error('不是函數(shù)'); } context = context || window; context.fn = this; const res = context.fn(...args); delete context.fn; return res;}

測試代碼:

var name = '李輝', age = 25;var obj = { name: '周果', objAge: this.age, myFun: function (fm, to) {console.log(`名字:${this.name},年齡:${this.age},來自:${fm},去往:${to}`) }};var person = { name: '弟弟', age: 12,};Function.prototype.mycall = function (context, ...args) { //判斷是否為函數(shù),如果不是函數(shù),則報錯 if (typeof this !== 'function') {throw new Error('不是函數(shù)'); } context = context || window; context.fn = this; const res = context.fn(...args); delete context.fn; return res;}obj.myFun.mycall(person, '成都', '仁壽'); //名字:弟弟,年齡:12,來自:成都,去往:仁壽2、實現(xiàn)apply

Function.prototype.myApply = function (context, ...args) { //判斷是否為函數(shù),如果不是函數(shù),則報錯 if (typeof this !== 'function') {throw new Error('不是函數(shù)'); } context = context || window; context.fn = this; args = args && args[0] || []; const result = context.fn(...args); delete context.fn; return result;}

測試代碼:

obj.myFun.myApply(person, ['成都', '仁壽']); //名字:弟弟,年齡:12,來自:成都,去往:仁壽3、實現(xiàn)bind

bind()方法主要就是將函數(shù)綁定到某個對象,bind()會創(chuàng)建一個函數(shù),函數(shù)體內(nèi)的this對象的值會被綁定到傳入bind()中的第一個參數(shù)的值。

方法1:使用apply

Function.prototype.myBind = function () { let self = this; //保存原函數(shù) let context = [].shift.call(arguments); //保存需要綁定的this上下文 let args = [...arguments]; //將傳入的剩余參數(shù)轉(zhuǎn)換成數(shù)組 return function () { //返回一個新的函數(shù)self.apply(context,[].concat.call(args,[...arguments])); }}

ES6簡化一下:

Function.prototype.myBind = function (context, ...args1) {return (...args2) => { //返回箭頭函數(shù), this綁定調(diào)用這個方法的函數(shù)對象 context = context || window; return this.apply(context, args1.concat(args2));//合并參數(shù)} }方法2:不使用call以及apply

將上面的代碼和js手寫實現(xiàn)apply的代碼合并一下:

Function.prototype.myBind = function (context, ...args1) { return (...args2) => { //返回箭頭函數(shù), this綁定調(diào)用這個方法的函數(shù)對象context = context || window;context.fn = this;const args = args1.concat(args2);const res = context.fn(...args);delete context.fn;return res; }}

測試代碼:

obj.myFun.myBind(person, '成都', '仁壽')();//名字:弟弟,年齡:12,來自:成都,去往:仁壽

以上就是原生js如何實現(xiàn)call,apply以及bind的詳細內(nèi)容,更多關于js實現(xiàn)call,apply以及bind的資料請關注好吧啦網(wǎng)其它相關文章!

標簽: JavaScript
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品久久久爽爽爽麻豆色哟哟 | 久久久影视传媒| 婷婷夜色潮精品综合在线| 亚洲高清久久| 成人免费一区二区三区视频 | 激情国产一区| 久久精品人人做人人爽人人| 成人午夜在线视频| 欧美乱熟臀69xxxxxx| 免费看精品久久片| 一本色道a无线码一区v| 日韩激情一区二区| 色偷偷成人一区二区三区91| 日韩影院精彩在线| 色丁香久综合在线久综合在线观看| 亚洲国产一区二区三区| av成人激情| 亚洲久本草在线中文字幕| 亚洲日本免费| 亚洲午夜精品17c| 免费在线欧美黄色| 日韩电影在线一区二区三区| 欧美又粗又大又爽| 精品在线免费视频| 欧美一区二区视频在线观看2022 | 精品国产123| 99re热视频精品| 国产网站一区二区| 亚洲午夜电影| 亚洲摸摸操操av| 亚洲一区二区三区高清| 婷婷综合在线观看| 欧美日韩一区中文字幕| 国产精品一区二区在线播放| 日韩欧美123| 97久久超碰精品国产| 亚洲国产成人一区二区三区| 国产一区二区无遮挡| 亚洲三级免费观看| 国产精品区一区| 日韩高清在线电影| 欧美日韩视频在线观看一区二区三区 | 亚洲美腿欧美偷拍| 亚洲人成久久| 偷拍自拍另类欧美| 欧美日韩aaa| 99久久婷婷国产综合精品电影| 中文字幕免费一区| 在线视频精品| 蜜桃视频在线一区| 337p亚洲精品色噜噜狠狠| 成人国产精品免费观看视频| 国产精品69毛片高清亚洲| 欧美videos中文字幕| 欧美不卡视频| 一区二区三区四区高清精品免费观看| 在线视频一区二区三区| 欧美精品成人| 国产成人综合精品三级| 国产三区在线成人av| 日韩视频在线播放 | 久久精品一区八戒影视| 欧美日韩精品高清| 91国偷自产一区二区三区观看| 麻豆久久婷婷| 在线欧美小视频| 亚洲国产mv| 国产精品一区在线播放| 成人免费毛片app| 亚洲欧美日韩一区在线观看| 亚洲一区二区三区中文字幕在线| 在线观看日韩av先锋影音电影院| 国产+成+人+亚洲欧洲自线| 中文字幕在线播放不卡一区| 免费h精品视频在线播放| 日韩毛片精品高清免费| 一本到三区不卡视频| 成人黄色综合网站| 亚洲午夜一区二区三区| 欧美福利视频导航| 国产精品v一区二区三区| 亚洲美女视频一区| 972aa.com艺术欧美| 亚洲一区二区三区四区五区中文| 欧美日韩国产另类一区| 国内久久视频| 热久久久久久久| 久久奇米777| 久久久xxx| 不卡一区中文字幕| 亚洲色图第一区| 欧美精品粉嫩高潮一区二区| 亚洲va韩国va欧美va| 91.com视频| 欧美日韩精品一区| 午夜欧美电影在线观看| 欧美巨大另类极品videosbest | 韩国视频一区二区| 亚洲欧洲美洲综合色网| 欧美裸体一区二区三区| 亚洲每日更新| 成人av在线资源| 丝袜脚交一区二区| 国产精品欧美一级免费| 欧美日韩三级视频| 一本综合久久| 99久久99久久久精品齐齐| 日韩精品亚洲一区| 国产精品久99| 欧美一区二区成人| 国产精品尤物| 女人天堂亚洲aⅴ在线观看| 久久精品999| 亚洲午夜久久久久久久久久久 | 制服丝袜中文字幕亚洲| 国产亚洲激情| 97久久久精品综合88久久| 午夜免费久久看| 日本一区二区成人在线| 日韩一区二区三区免费看| 一本一本大道香蕉久在线精品| 黄色在线一区| av在线不卡电影| 国内精品免费在线观看| 亚洲成人精品一区二区| 中文幕一区二区三区久久蜜桃| 欧美福利电影网| 久久人人九九| 亚洲精品欧美| 欧美日韩网址| 成人99免费视频| 国产一区二区精品久久| 午夜精品视频在线观看| 国产精品每日更新在线播放网址| 日韩欧美资源站| 欧美视频中文字幕| 美日韩精品视频| 精品999成人| aaa欧美大片| 国产一区免费电影| 日本特黄久久久高潮| 亚洲自拍都市欧美小说| 国产精品久久久久久久久搜平片| 精品88久久久久88久久久| 在线成人免费观看| 91黄色免费观看| 久久av一区二区| 亚洲欧洲日本国产| 国内精品福利| 狠狠色狠狠色综合日日tαg| 欧美激情麻豆| 色综合久久中文字幕| 成人h动漫精品| 国产成人精品网址| 国产高清在线精品| 国内精品写真在线观看| 久久国产精品色婷婷| 三级一区在线视频先锋 | 欧美日韩99| 白白色亚洲国产精品| 国产传媒欧美日韩成人| 韩国精品在线观看| 精品无人区卡一卡二卡三乱码免费卡| 日韩国产精品大片| 婷婷夜色潮精品综合在线| 亚洲一级片在线观看| 亚洲另类春色国产| 亚洲欧洲精品一区二区三区| 欧美—级在线免费片| 国产亚洲综合在线| 国产婷婷色一区二区三区四区| 久久久久久久久99精品| 欧美精品一区二区三区一线天视频 | 亚洲夂夂婷婷色拍ww47| 亚洲日穴在线视频| 亚洲男人天堂av网| 亚洲综合免费观看高清完整版在线| 伊人夜夜躁av伊人久久| 亚洲国产日韩在线一区模特| 亚洲成a人v欧美综合天堂| 亚洲国产美女搞黄色| 亚洲成人久久影院| 午夜激情综合网| 亚洲第一综合色| 婷婷亚洲久悠悠色悠在线播放| 亚洲在线成人精品| 性感美女极品91精品| 日韩电影在线免费看| 琪琪久久久久日韩精品| 久久成人久久爱| 国产精品一区二区三区乱码 | 激情深爱一区二区| 国产在线播放一区| 成人午夜大片免费观看| 91原创在线视频| 国产精品大片| 亚洲精品日韩久久| 亚洲综合欧美日韩| 欧美日韩一区二区三区不卡| 91麻豆精品国产91久久久资源速度|