草庐IT

Prototype

全部标签

javascript - 覆盖对象原型(prototype)并不允许任何进一步的覆盖

我正在尝试编写一个库来拦截所有XMLHttpRequest调用并在最终发送请求之前做一些事情,方法是覆盖其原型(prototype),例如:varoriginal_open=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){//myownoverridelogicherebeforerunningtheoriginalfunctionoriginal_open.apply(this,arguments);};问题是,我想保证当有人使用这个库时,网页上的任何其他代码都不可能重新覆盖这个效果。因为否

javascript - 如何在不弄乱全局命名空间的情况下在其他站点中注入(inject) Javascript(包括 Prototype.js)?

我目前正在做一个项目,该项目是一个使用Prototype库的大型站点,并且已经有大量的Javascript代码。我们现在正在研究一段代码,它将被“注入(inject)”到其他人的网站中(想象人们在他们的网站中添加标签),然后运行我们的代码并添加一堆DOM元素和他们网站的功能。这将有新的代码片段,并且还将重用我们在主站点上使用的大量代码。我遇到的问题是,仅仅添加一个将在人们的页面中包含Prototype的当然不是很酷。如果我们在已经使用任何框架的页面中这样做,我们肯定会搞砸一切。jQuery为我们提供了“重命名”$对象的选项,因此它可以很好地处理这种情况,但显然我们没有使用jQuery,

使用原型(prototype)时的 Javascript 继承问题 - 实例被覆盖 :(

我是JavaScript编程的新手,我对继承有点噩梦。我正在为AppceleratorTitanium编写一些代码,我有一个名为Slide2D的基类,我希望从中继承它。所以我在Slide2D的原型(prototype)中放置了一些函数。这些通常不会被覆盖,但会从Slide2D派生的类中调用。这些函数也将从程序的其他部分调用。还有各种事件处理程序用于管理Titanium中的动画。如果我在一些调用代码中制作了几个这样的幻灯片(使用new)vars=newSlide2D('slide1','background1.png',etc......vart=newSlide2D('slide2',

javascript - 基于原型(prototype)继承在实际项目中的应用

基于类的继承展示了它在创建大型编程系统(尤其是GUI系统)中的有用性。如何在现实生活中应用基于原型(prototype)的继承?我们应该如何构建系统而不是创建类层次结构?对于基于类的OOP,是否存在任何基于真正原型(prototype)的OOP的编程模式? 最佳答案 nahab:ArehereexistanyprogrammingpatternsforrealprototypicalbasedOOPasexistsforclass-basedOOP?这question应该会指导您找到一些关于实用Javascript设计模式的好资源。

javascript - 从原型(prototype)转换为 jQuery

是否有一致且通用的方法将原型(prototype)代码转换为jQuery?我不是在问如何转换特定代码,例如:来自:Event.observe(window,'load',function(){/*code*/});收件人:$(function(e){/*code*/});但是如何将任何代码从原型(prototype)转换为jQuery。我不确定这是否可行,但欢迎提出任何建议。谢谢更新:我一直here但这是4岁..你知道,在1990年,像(如何在不重新加载页面的情况下从服务器加载数据)这样的问题会有一个明显的答案:你不能 最佳答案 我

Javascript 继承和对象字面量

在JavaScript中,据说对象字面量具有原型(prototype)链接,但是函数对象同时具有原型(prototype)链接和原型(prototype)属性。那么,基于以上所述,是否可以说继承(使用原型(prototype)属性)仅适用于函数对象(构造函数版本)而不适用于对象字面量?此外,要补充的是,__proto__属性在所有浏览器中都无法访问... 最佳答案 精简版:是的:不能通过分配给对象的prototype属性来设置或修改原型(prototype)链。您不能通过使用对象字面量创建对象然后为其提供名为prototype的属性

javascript - 为什么在 Firefox 中 Function.prototype.func=... 不影响 console.log?

我已经使用Function.prototype.func=...添加了一个函数到Function但在Firefox中它没有被添加console.log:Function.prototype.func=function(){returnthis.toString();};alert(typeofconsole.log.func);//inFF:undefined,inChrome:function这是错误还是有任何原因? 最佳答案 在Firefox中很明显:varfoo=function(){}foo.__proto__==Funct

javascript - 如何向 Javascript ES6 中的类添加方法

我需要使用新语法向Javascript类添加一个方法。我试过这种方式:classX{constructor(){this.a='b'}x(){}}X.prototype.y=function(){console.log('y')}varx=newX()x.y()console.log(X)//printthetheclassbutnotthenewmethod.它只是打印:classX{constructor(){this.a='b'}x(){}}但我预料到了classX{constructor(){this.a='b'}x(){}y(){console.log('y');}}如何向J

javascript - Angular 2 中的 HTTP 转换请求

我正在尝试向我的所有Web请求添加一个参数,以便强制禁用缓存。我只想添加?v=1535DC9D930//Currenttimestampinhex到每个请求的结尾。我是用普通的ES5JS写的,但是所有的文档都是用Typescript写的,这需要一些时间来转换。到目前为止,我有以下内容:(function(app){app.CustomHttp=ng.core.Class({constructor:[ng.http.Http,function(http){console.log(this);this.http=http;}],request:function(){returnthis.h

javascript - 是否可以在 Visual Studio Code 的原型(prototype)访问器中启用 JS 对象智能感知?

在创建JS对象,定义一些accessor时,发现this.后无法获取intellisense示例代码:functionObj(foo){this.foo=foo;}Obj.prototype={getbar(){returnthis.//Nointellisensehere},setbar(val){this.foo=val}};但是使用Obj.prototype.test=function(){...}创建方法会让我获得智能感知。是否有任何方法可以使用用户设置为这种情况复制相同的词法分析,或者这是一个实际的缺陷/错误?编辑:这是VSCode显示的图像:如您所见,它只显示以前使用过的单