Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 扩展webapi类构造函数_Javascript_Html_Class_Oop_Ecmascript 6 - Fatal编程技术网

Javascript 扩展webapi类构造函数

Javascript 扩展webapi类构造函数,javascript,html,class,oop,ecmascript-6,Javascript,Html,Class,Oop,Ecmascript 6,我想知道是否有可能扩展一个内置的WebAPI类请求,例如在实例化类构造函数时触发一个立即调用的函数 所以每当constmyrequest=newrequest('http://...', {...});已声明将触发触发器。例如一个console.log()或另一个全局函数。无需显式调用Request.prototype.trigger或任何类似的函数 欢迎提供任何帮助/建议学习材料。 谢谢 您可以将其扩展到自己的类中 class MyRequest extends Request{ con

我想知道是否有可能扩展一个内置的WebAPI类
请求
,例如在实例化类构造函数时触发一个立即调用的函数

所以每当
constmyrequest=newrequest('http://...', {...});已声明将触发触发器。例如一个
console.log()
或另一个全局函数。无需显式调用
Request.prototype.trigger
或任何类似的函数

欢迎提供任何帮助/建议学习材料。
谢谢

您可以将其扩展到自己的类中

class MyRequest extends Request{
   constructor(...args){
       super(...args);
       console.log("extended")
   }
}
或覆盖内置请求(坏主意)


您可以将其扩展到您自己的类中

class MyRequest extends Request{
   constructor(...args){
       super(...args);
       console.log("extended")
   }
}
或覆盖内置请求(坏主意)


您可以通过一个私有函数来实现这一点,并覆盖您的请求类——这并不是真正的建议,因为如果您自己实现,您应该自己命名它,这样您就知道它不是默认对象

void函数(){
const request=window.request;
类请求扩展请求{
构造函数(){
超级(…参数);
log('Calling mock request');
}
}
window.Request=请求;
}();

log(新请求('http:google.com')您可以使用私有函数并覆盖您的请求类来完成此操作-这并不是真正的建议,因为如果您自己实现,您应该自己命名它,以便知道它不是默认对象

void函数(){
const request=window.request;
类请求扩展请求{
构造函数(){
超级(…参数);
log('Calling mock request');
}
}
window.Request=请求;
}();

log(新请求('http:google.com')这看起来像是一种设计味道,不管怎样,你想重写所谓的内置类的构造函数吗?好吧,重写,但保留现有的功能,只需添加一个立即运行的附加函数。因此,在我看来,可以扩展构造函数,但在技术上,可能是这样。直到“设计气味”:)它看起来像一种设计气味,不管怎样,你想覆盖一个所谓的内置类的构造函数吗?好吧,覆盖但保留现有功能,只需添加一个立即运行的附加函数。因此,在我看来,可以扩展构造函数,但在技术上,可能是这样。直到“设计气味”:)不错!这件事我想得太多了。非常感谢+1:不错!这件事我想得太多了。非常感谢+1:谢谢你的发帖,又是一个完美的答案,只是太慢了几秒钟,不可能被接受。谢谢你抽出时间。投赞成票!:)谢谢你的发帖,这是另一个完美的答案,只是太慢了几秒钟,无法成为公认的答案。谢谢你抽出时间。投赞成票!:)