草庐IT

Prototype

全部标签

javascript - 为什么更改原型(prototype)不会影响以前创建的对象?

我有以下代码:varA=function(){};vara=newA();varb=newA();A.prototype.member1=10;A.prototype={}varc=newA();console.log(a.member1);console.log(a.constructor===b.constructor);console.log(a.constructor===c.constructor);console.log('---------');console.log(c.member1);它的输出是:10truefalse---------undefinedundefi

javascript - 如何扩展文档对象?

我目前正在努力更好地理解JavaScript和原型(prototype)设计。我想向document添加一个函数,但prototype在document上未定义。这段代码:document.prototype.writeLine=function(text){this.write(text);this.write("");};生成此错误://InFireFoxTypeError:document.prototypeisundefined//InChromeUncaughtTypeError:Cannotsetproperty'writeLine'ofundefined如何扩展docum

javascript - 我可以覆盖 javascript 中的构造函数吗?

我刚刚得知我canoverwriteamethod在Javascript类中,如下所示,但是实际的构造函数呢?如果可能,我该怎么做而不实例化类?varUserModel=(function(){varUser;User=function(){};// 最佳答案 只是暂时保存prototype对象,然后替换构造函数:varproto=UserModel.prototype;UserModel=function(){/*newimplementation*/};UserModel.prototype=proto;

javascript - 你能帮忙澄清一下Javascript原型(prototype)继承方法调用吗?

在这段代码中:varFruit=function(){}Fruit.prototype={color:function(){console.log('Fruitcolor...')}}varApple=function(){}Apple.prototype=newFruit()Apple.prototype.constructor=Applevara=newApple()Apple.prototype=null//thequestion!!!a.color()当Apple.prototype被设置为null时,为什么实例a仍然可以调用color方法? 最佳答

javascript - 如何使用 ES6 类创建一个不从 Object.prototype 继承的类?

我可以使用旧语法创建一个不从Object.prototype继承的类。functionShape(x,y,width,height){this.x=x,this.y=y,this.width=width,this.height=height;}Shape.prototype=Object.create(null,{constructor:{configurable:true,writable:true,value:Shape},move:{configurable:true,writable:true,value:function(x,y){this.x+=x,this.y+=y;}}

Javascript Array.prototype.filter 意外输出

背景最近在面试,有人给我做了个测试:vararray=[1,2,3];array[10]=10;alert(array.filter(n=>n===undefined));我相信这会警告一个数组有7xundefined,或者这些行中的某些内容。但是,它输出一个空数组,如长度为0的数组。问题对我来说,这是令人困惑的。谁能帮我解释为什么会这样? 最佳答案 不访问已删除或未初始化(在稀疏数组上)的项目。Array#forEachDescriptionforEach()executestheprovidedcallbackonceforea

javascript - 什么是好的简约 Javascript 继承方法?

我正在重写一个JavaScript项目,我希望能够使用面向对象的方法来整理当前代码的困惑情况。主要问题是此JavaScript应该作为小部件在第3方网站内运行,我不能让它与其他网站可能使用的其他JavaScript库发生冲突。所以我正在寻找一种在具有以下要求的JavaScript中编写“类类”继承的方法:没有外部库或会与外部库冲突的东西(这排除了从外部库复制和粘贴的可能性)。极简主义-我不希望支持代码超过几行代码,也不希望开发人员每次定义新类或方法时都需要大量样板。应允许动态扩展父对象,以便子对象看到更改(原型(prototype))。应该允许构造函数链接。应该允许super类型调用。

javascript - 我应该修改字符串的原型(prototype)吗?

我正要在javascript中创建一个trim函数,但因为我不想重新发明轮子,所以我在谷歌上搜索了这个方法。我找到了这个链接http://www.somacon.com/p355.php它提供的解决方案是:String.prototype.trim=function(){returnthis.replace(/^\s+|\s+$/g,"");}String.prototype.ltrim=function(){returnthis.replace(/^\s+/,"");}String.prototype.rtrim=function(){returnthis.replace(/\s+$

javascript - 原型(prototype) - 如何将对 hide() 的调用延迟 10 秒

我有以下代码:$('message').show();$('message').hide();如何在原型(prototype)中的显示和隐藏之间添加10秒的延迟?谢谢 最佳答案 $('message').show();Element.hide.delay(10,'message'); 关于javascript-原型(prototype)-如何将对hide()的调用延迟10秒,我们在StackOverflow上找到一个类似的问题: https://stackov

javascript - 在js中找到多边形的中心点

我找到了一个不错的example如何找到多边形的中心点(andhereinJS):->参见thisjsfiddle例子所以,有了这个多边形varpolygon=[{'x':770,'y':400},{'x':529,'y':643},{'x':320,'y':494},{'x':424,'y':381},{'x':459,'y':369}];我应该这样找到中心点:varcon=newContour();con.pts=polygon;document.write(con.centroid)但是con.centroid是undefined。我做错了什么?提前致谢!