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

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

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

瀏覽:225日期:2024-04-16 10:08:42
如何解決JavaScript將.apply()與'new'運算符配合使用。這可能嗎??

使用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]));

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

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

一點解釋:我們需要new在一個帶有有限數量參數的函數上運行。該bind方法允許我們這樣做:

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

該anything參數無關緊要,因為new關鍵字resetf的上下文。但是,出于語法原因,它是必需的。現在,進行bind調用:我們需要傳遞可變數量的參數,所以就可以了:

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

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

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

實際上,f根本不需要臨時變量:

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

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

解決方法

在JavaScript中,我想創建一個對象實例(通過new運算符),但是將任意數量的參數傳遞給構造函數。這可能嗎?

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

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

答案

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

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

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

標簽: JavaScript
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩视频一二区| 欧美日韩中文一区二区| 国产精品腿扒开做爽爽爽挤奶网站| 日韩成人亚洲| 午夜日韩av| 日韩欧美四区| 国产成人在线中文字幕| 亚洲国产专区校园欧美| 在线看片日韩| 国产精品多人| 久久婷婷亚洲| 免费在线视频一区| 国产亚洲高清一区| 欧美日一区二区| 国产精品三上| 日本欧美国产| 亚洲资源在线| 亚洲精品永久免费视频| 一本色道久久精品| 你懂的国产精品永久在线| 亚洲二区在线| 久久99免费视频| 91精品福利| 精品欠久久久中文字幕加勒比| 久久精品三级| 久久久水蜜桃av免费网站| 日韩精品一区二区三区中文在线| 精品99在线| 日本va欧美va瓶| 成人国产精品一区二区免费麻豆| 久久国产精品99国产| 97精品国产一区二区三区| 视频一区中文| 久久国产欧美日韩精品| 黄色亚洲在线| 国产 日韩 欧美 综合 一区| 日韩黄色免费网站| 99热精品在线观看| 久久久777| 久久精品理论片| 国产香蕉精品| 日本不卡高清视频| 日韩精品一级中文字幕精品视频免费观看 | 免费观看在线综合色| 国产精品亚洲一区二区三区在线观看| 日韩国产精品久久久久久亚洲| 国产精品三上| 亚洲一区二区三区四区五区午夜 | 精品视频亚洲| 日本va欧美va精品| 一区二区三区国产在线| 日韩一级不卡| 性欧美长视频| 蜜臀91精品一区二区三区| 亚洲一卡久久| 亚洲天堂免费| 一区二区三区网站| 日韩精品一区二区三区中文字幕| 亚洲18在线| 欧美日本一区| 国产精品久久久久久久久免费高清 | 亚洲精品九九| 日韩欧美激情| 人人精品久久| 久久av网站| 日韩欧美自拍| 亚洲激情中文| 日韩综合一区二区三区| 国产亚洲精品美女久久久久久久久久| 亚洲精品福利| 麻豆一区在线| 亚洲v在线看| 成人免费电影网址| 国产毛片一区| 国产精品对白久久久久粗| 久久99精品久久久野外观看| 日本一区二区高清不卡| 久久精品动漫| 亚洲日本三级| 久久精品毛片| 视频精品一区二区| 牛牛精品成人免费视频| 欧洲亚洲一区二区三区| 亚洲精品国产日韩| 欧美aaaaaa午夜精品| 在线观看精品| 日韩极品在线观看| 99成人超碰| 国产精品伦一区二区| 好看的av在线不卡观看| 精品午夜av| 综合一区二区三区| 激情亚洲影院在线观看| 日本午夜免费一区二区| 久久精品99久久无色码中文字幕| 欧美一级二区| 99视频精品| 免费在线小视频| 青草av.久久免费一区| 日韩精品麻豆| 精品深夜福利视频| 日韩精品亚洲专区| 国产综合精品| 国产精品毛片久久| 国产精品视频3p| 亚洲美女久久| 亚洲免费精品| 欧美日韩国产一区二区三区不卡| 免费一级欧美片在线观看网站 | av亚洲一区二区三区| 国产欧美日韩免费观看| 在线精品一区二区| 亚洲自啪免费| 视频一区中文字幕| 夜夜嗨av一区二区三区网站四季av| 久久青青视频| 色在线中文字幕| 久久精品亚洲一区二区| 你懂的国产精品| 久久一区精品| 福利一区和二区| 亚洲伊人av| 丝袜美腿诱惑一区二区三区| 91亚洲国产高清| 福利一区二区三区视频在线观看| 91视频一区| 亚洲精品在线观看91| 丝袜亚洲另类欧美| 亚洲影院天堂中文av色| 日韩超碰人人爽人人做人人添| 7777精品| 国产一二在线播放| 国产精品av一区二区| 亚洲综合日韩| 国产精品一区二区三区www | 国产精品99久久久久久董美香| 久久亚州av| 日韩免费小视频| 影视先锋久久| 亚欧成人精品| 麻豆国产一区| 国产精品av久久久久久麻豆网| 日韩中文欧美在线| 国产欧美日韩一区二区三区在线| 韩日一区二区| 男人的天堂久久精品| 免费一级欧美片在线观看网站| 日韩免费小视频| 三级久久三级久久久| 精品久久电影| 国产亚洲精品久久久久婷婷瑜伽| 日本va欧美va瓶| 亚洲v在线看| 综合色一区二区| 蜜桃精品在线| 国产精品主播在线观看| 香蕉精品视频在线观看| 久久激情综合网| 99视频在线精品国自产拍免费观看| 欧美日韩一区二区三区在线电影| 久久狠狠婷婷| 老司机免费视频一区二区| 91久久中文| 久久青草久久| 国产一区二区三区黄网站| 亚洲欧美日本国产| 在线一区免费| 九色porny丨国产首页在线| 羞羞答答国产精品www一本| 久草免费在线视频| 麻豆精品久久久| 日韩动漫一区| 亚洲欧洲美洲国产香蕉| 亚洲国产日韩欧美在线| 日韩黄色大片| 美女久久久精品| 欧美中文高清| 亚洲精品一二三**| 亚洲欧美成人综合| 久久中文字幕av| 久久婷婷一区| 久久久夜精品| 亚洲一级影院| 成人国产精选| 麻豆理论在线观看| 色欧美自拍视频| а√天堂8资源中文在线| 国精品产品一区| 精品国产网站| 91亚洲国产成人久久精品| 成人午夜在线| 秋霞影视一区二区三区| 欧美日韩视频网站| 亚洲手机在线| 视频一区二区中文字幕| 日韩国产精品久久久久久亚洲| 91久久精品无嫩草影院| 欧美亚洲网站| 国产日韩欧美一区在线| 美女国产精品久久久|