草庐IT

Wmissing-prototypes

全部标签

javascript - 将自定义函数添加到 Array.prototype

我正在开发一个支持AJAX的asp.net应用程序。我刚刚向Array.prototype添加了一些方法,例如Array.prototype.doSomething=function(){...}这个解决方案对我有用,可以以“漂亮”的方式重用代码。但是当我用整个页面测试它时,我遇到了问题......我们有一些自定义的ajax扩展程序,它们开始表现出意料之外的行为:一些控件在其内容或值周围显示为“未定义”。这可能是什么原因?我是否缺少有关修改标准对象原型(prototype)的内容?注意:我很确定错误是在我修改Array的原型(prototype)时开始的。它应该只与IE兼容。

javascript - 将 Function.prototype.bind 与参数数组一起使用?

如何使用参数数组而不是硬编码参数来调用Function.prototype.bind?(不使用ECMA6,所以没有扩展运算符)。我试图在使用回调的模块周围放置一个promises包装器,我想绑定(bind)所有传入我的包装器方法的参数并绑定(bind)它们。然后我想用我自己的回调调用部分应用的绑定(bind)函数,这将解决或拒绝promise。varfind=function(){vardeferred,bound;deferred=Q.defer();bound=db.find.bind(null,arguments);bound(function(err,docs){if(err)

javascript - 将 Function.prototype.bind 与参数数组一起使用?

如何使用参数数组而不是硬编码参数来调用Function.prototype.bind?(不使用ECMA6,所以没有扩展运算符)。我试图在使用回调的模块周围放置一个promises包装器,我想绑定(bind)所有传入我的包装器方法的参数并绑定(bind)它们。然后我想用我自己的回调调用部分应用的绑定(bind)函数,这将解决或拒绝promise。varfind=function(){vardeferred,bound;deferred=Q.defer();bound=db.find.bind(null,arguments);bound(function(err,docs){if(err)

javascript - 在 Derived.prototype = new Base 处使用 'new' 关键字的原因是什么

下面的代码是做什么的:WeatherWidget.prototype=newWidget;其中Widget是构造函数,我想用新函数WeatherWidget扩展Widget“类”。new关键字在那里做什么?如果它被遗漏会发生什么? 最佳答案 WeatherWidget.prototype=newWidget;new关键字调用Widget作为构造函数,并将返回值分配给prototype属性。(如果省略new,则不会调用Widget,除非添加参数列表()。但是,调用Widget这种方式可能是不可能的。如果它不是严格模式代码并且实现符合那

javascript - 在 Derived.prototype = new Base 处使用 'new' 关键字的原因是什么

下面的代码是做什么的:WeatherWidget.prototype=newWidget;其中Widget是构造函数,我想用新函数WeatherWidget扩展Widget“类”。new关键字在那里做什么?如果它被遗漏会发生什么? 最佳答案 WeatherWidget.prototype=newWidget;new关键字调用Widget作为构造函数,并将返回值分配给prototype属性。(如果省略new,则不会调用Widget,除非添加参数列表()。但是,调用Widget这种方式可能是不可能的。如果它不是严格模式代码并且实现符合那

javascript - 在javascript中调用另一个原型(prototype)方法

varOb=function(){}Ob.prototype.add=function(){inc()}Ob.prototype.inc=function(){alert('Inccalled');}window.onload=function(){varo=newOb();o.add();}我想调用这样的东西,我怎么调用,当然我把inc作为add的内部函数我可以这样做但是没有内部函数.我该怎么做? 最佳答案 很简单:Ob.prototype.add=function(){this.inc()}Ob.prototype.inc=fu

javascript - 在javascript中调用另一个原型(prototype)方法

varOb=function(){}Ob.prototype.add=function(){inc()}Ob.prototype.inc=function(){alert('Inccalled');}window.onload=function(){varo=newOb();o.add();}我想调用这样的东西,我怎么调用,当然我把inc作为add的内部函数我可以这样做但是没有内部函数.我该怎么做? 最佳答案 很简单:Ob.prototype.add=function(){this.inc()}Ob.prototype.inc=fu

javascript - 通过调用 prototype.constructor.apply 实例化一个 JavaScript 对象

让我从一个我正在尝试做的具体例子开始。我有一组年、月、日、小时、分钟、秒和毫秒组件,格式为[2008,10,8,00,16,34,254]。我想使用以下标准构造函数实例化Date对象:newDate(year,month,date[,hour,minute,second,millisecond])如何将我的数组传递给此构造函数以获取新的Date实例?[更新:我的问题实际上超出了这个具体的例子。我想要一个通用的解决方案,用于内置JavaScript类,如Date、Array、RegExp等,它们的构造函数超出了我的能力范围。]我正在尝试执行以下操作:varcomps=[2008,10,8

javascript - 通过调用 prototype.constructor.apply 实例化一个 JavaScript 对象

让我从一个我正在尝试做的具体例子开始。我有一组年、月、日、小时、分钟、秒和毫秒组件,格式为[2008,10,8,00,16,34,254]。我想使用以下标准构造函数实例化Date对象:newDate(year,month,date[,hour,minute,second,millisecond])如何将我的数组传递给此构造函数以获取新的Date实例?[更新:我的问题实际上超出了这个具体的例子。我想要一个通用的解决方案,用于内置JavaScript类,如Date、Array、RegExp等,它们的构造函数超出了我的能力范围。]我正在尝试执行以下操作:varcomps=[2008,10,8

JavaScript:扩展 Array.prototype 有什么危险?

GoogleJavaScript风格指南advisesagainstextendingtheArray.prototype.但是,我使用了Array.prototype.filter=Array.prototype.filter||function(...){...}作为在它们不存在的浏览器中拥有它(和类似方法)的一种方式。MDN其实提供了similarexample.我知道Object.prototype问题,但Array不是哈希表。在扩展Array.prototype时可能会出现哪些问题导致Google反对它? 最佳答案 大多数