日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JavaScript將.apply()與'new'運(yùn)算符配合使用這可能嗎?

瀏覽:215日期:2024-05-09 13:28:18
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決JavaScript將.apply()與'new'運(yùn)算符配合使用這可能嗎??

使用ECMAScript5可以使Function.prototype.bind事情變得非常干凈:

function newCall(Cls) { return new (Function.prototype.bind.apply(Cls, arguments)); // or even // return new (Cls.bind.apply(Cls, arguments)); // if you kNow that Cls.bind has not been overwritten}

可以如下使用:

var s = newCall(Something, a, b, c);

甚至直接:

var s = new (Function.prototype.bind.call(Something, null, a, b, c));var s = new (Function.prototype.bind.apply(Something, [null, a, b, c]));

即使基于特殊的構(gòu)造函數(shù),此方法和基于eval的解決方案仍然是唯一可以正常工作的解決方案Date:

var date = newCall(Date, 2012, 1);console.log(date instanceof Date); // true

一點(diǎn)解釋:我們需要new在一個(gè)帶有有限數(shù)量參數(shù)的函數(shù)上運(yùn)行。該bind方法允許我們這樣做:

var f = Cls.bind(anything, arg1, arg2, ...);result = new f();

該anything參數(shù)無(wú)關(guān)緊要,因?yàn)閚ew關(guān)鍵字resetf的上下文。但是,出于語(yǔ)法原因,它是必需的。現(xiàn)在,進(jìn)行bind調(diào)用:我們需要傳遞可變數(shù)量的參數(shù),所以就可以了:

var f = Cls.bind.apply(Cls, [anything, arg1, arg2, ...]);result = new f();

讓我們將其包裝在一個(gè)函數(shù)中。Cls被作為arugment 0傳遞,它將成為我們的anything。

function newCall(Cls /*, arg1, arg2, ... */) { var f = Cls.bind.apply(Cls, arguments); return new f();}

實(shí)際上,f根本不需要臨時(shí)變量:

function newCall(Cls /*, arg1, arg2, ... */) { return new (Cls.bind.apply(Cls, arguments))();}

最后,我們應(yīng)該確保這bind確實(shí)是我們所需要的。(Cls.bind可能已被覆蓋)。因此,將其替換為Function.prototype.bind,我們得到的最終結(jié)果如上所述。

解決方法

在JavaScript中,我想創(chuàng)建一個(gè)對(duì)象實(shí)例(通過(guò)new運(yùn)算符),但是將任意數(shù)量的參數(shù)傳遞給構(gòu)造函數(shù)。這可能嗎?

我想做的是這樣的(但是下面的代碼不起作用):

function Something(){ // init stuff}function createSomething(){ return new Something.apply(null,arguments);}var s = createSomething(a,b,c); // ’s’ is an instance of Something

答案

從這里的響應(yīng)中可以明顯看出,沒(méi)有內(nèi)置的方法可以.apply()與new接線員通話。但是,人們提出了一些非常有趣的解決方案。

我更喜歡的解決方案是MatthewCrumley提出的解決方案(我已對(duì)其進(jìn)行了修改以通過(guò)該arguments屬性):

var createSomething = (function() { function F(args) {return Something.apply(this,args); } F.prototype = Something.prototype; return function() {return new F(arguments); }})();

標(biāo)簽: JavaScript
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美1区二区| japanese国产精品| 中文字幕日韩欧美精品高清在线| 欧美va天堂在线| 成人av二区| 99精品在线观看| 99精品综合| 99综合视频| 亚洲精品进入| 国产精品22p| 精品视频一区二区三区在线观看| av中文资源在线资源免费观看| 中文字幕在线官网| 久久蜜桃资源一区二区老牛| 久久国产成人午夜av影院宅| 人人精品亚洲| 亚洲精品91| 亚洲精品乱码日韩| 国产欧美精品| 日本欧美国产| 亚洲无线一线二线三线区别av| 国精品一区二区| 日韩中文字幕区一区有砖一区 | 日韩av不卡一区二区| 日本不卡一二三区黄网| 欧美a一区二区| 国产成人精品亚洲线观看| 精品日韩一区| av亚洲一区二区三区| 国产亚洲午夜| 97久久超碰| 国产一区二区三区不卡视频网站 | 成人小电影网站| 精品在线99| 蜜臀久久久99精品久久久久久| 97成人超碰| 不卡专区在线| 国产视频久久| 国产精品啊v在线| 日韩精品欧美| 亚洲久久视频| av高清不卡| 丝袜美腿成人在线| 岛国精品一区| 水野朝阳av一区二区三区| 久久av影视| 99re国产精品| 国产aⅴ精品一区二区四区| 欧美日韩国产一区二区三区不卡| 亚洲精品韩国| 福利欧美精品在线| 亚洲专区视频| 欧美日韩精品免费观看视完整| 另类激情亚洲| 国产成人精品福利| 亚洲色图网站| 日韩在线中文| 欧美有码在线| 国产伊人精品| 久久亚洲精品中文字幕| 国产精品毛片| 精品国产a一区二区三区v免费| 亚洲一区激情| 中文字幕高清在线播放| 亚洲欧洲免费| 日本а中文在线天堂| 男人的天堂久久精品| 国产+成+人+亚洲欧洲在线| 免费在线视频一区| av在线最新| 国产日韩免费| 丝袜美腿亚洲一区| 免费在线小视频| 国产欧美一级| 午夜亚洲一区| 欧美+日本+国产+在线a∨观看| 精品美女视频 | 久久精品国产999大香线蕉| 亚洲一区二区三区久久久| 91亚洲国产成人久久精品| 日韩一区二区三区免费视频| 亚洲婷婷免费| 正在播放日韩精品| 国产精品一区亚洲| 日韩影院免费视频| 久久久久久免费视频| 久久精品国产福利| 欧美日韩亚洲国产精品| 久久午夜影视| 激情婷婷综合| 日韩天堂在线| 色综合五月天| 国产欧美日韩精品一区二区免费| 亚洲一区欧美| 午夜亚洲精品| 1024精品久久久久久久久| 欧美日韩视频免费观看| 三上亚洲一区二区| 国产不卡av一区二区| 美女性感视频久久| 国产麻豆一区| 日本少妇一区二区| 日韩专区视频网站| 免费看黄色91| 亚洲一区观看| 红桃视频国产一区| 国产精品99一区二区| 国产传媒av在线| 嫩呦国产一区二区三区av| 国产精品一区二区精品| 久久国产精品免费精品3p | 91成人在线精品视频| 视频在线在亚洲| 欧美日韩少妇| 日韩视频不卡| 99视频精品| 亚洲欧美日韩视频二区| 在线视频日韩| 亚洲一区二区动漫| 久热re这里精品视频在线6| 亚洲激情中文在线| 国产亚洲毛片| 日韩在线观看一区二区| 亚洲精品三级| 日韩不卡免费视频| 国产日韩一区二区三免费高清| 日韩黄色av| 欧美一级二级三级视频| 国产精品色婷婷在线观看| 久久精品国产999大香线蕉| 高清久久精品| 久久狠狠婷婷| 日韩网站在线| 亚洲一区亚洲| 视频一区欧美日韩| 免费成人在线视频观看| 日韩区一区二| 国产欧美激情| 激情综合五月| 国产精品91一区二区三区| 99日韩精品| 日韩有码av| 精品国产三区在线| 伊人久久大香线蕉av不卡| 模特精品在线| 国产一卡不卡| av中文字幕在线观看第一页| 久久亚洲在线| 天堂av在线一区| 国产日韩欧美在线播放不卡| 久久精品国产网站| 中文字幕在线免费观看视频| 久久香蕉国产| 亚洲三级观看| 精品国产亚洲日本| 国产一区清纯| 日韩精品久久久久久| 精品亚洲成人| 亚洲黄色影院| 91亚洲精品视频在线观看| 成人黄色av| 99视频精品免费观看| 欧美午夜三级| 久久久久国产精品一区三寸 | 欧美日韩精品一区二区视频| 国产一区白浆| 国产精品一区二区av交换| 亚洲一级少妇| 中文字幕免费精品| 久久久久久色 | 日韩精品中文字幕一区二区| 久久久久伊人| 黄色亚洲免费| 国产情侣久久| 91精品蜜臀一区二区三区在线 | 丝袜亚洲另类欧美| 久久久91麻豆精品国产一区| 99视频精品全部免费在线视频| 亚洲精品少妇| 日韩在线短视频| 色综合视频一区二区三区日韩| 电影91久久久| 亚洲精品精选| 久久精品动漫| 国产精品一区高清| 美女久久久久| 久久精品国产999大香线蕉| 野花国产精品入口| 精品久久网站| 亚洲欧洲美洲国产香蕉| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 免费国产自线拍一欧美视频| 久久久久伊人| 蜜桃一区二区三区在线观看| 国产一区二区三区探花| 亚洲三级av| 欧美成人高清| 久久久久久色 | 久久亚洲黄色| 亚洲免费毛片|