草庐IT

strict-prototypes

全部标签

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)继承方法调用吗?

在这段代码中: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 - 我应该修改字符串的原型(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 - Ruby 中的 Array.prototype.splice

有friend问我在Ruby中实现JavaScript的splice方法效果的Ruby最佳和性能的方法。这意味着不会对数组本身或副本进行迭代。“从索引开始,删除length项并(可选)插入元素。最后返回数组中删除的项。”这是一种误导,请参阅下面的JS示例。http://www.mennovanslooten.nl/blog/post/41没有可选替换的快速破解:from_index=2for_elements=2sostitute_with=:testinitial_array=[:a,:c,:h,:g,:t,:m]#expectedresult:[:a,:c,:test,:t,:m]

javascript - 使用继承时,构造函数和原型(prototype)对象有什么区别吗?

考虑以下JavaScript片段:functionfoo(){this.bar=function(){};}//or...(ifweusedanemptyconstructorfunction)foo.prototype.bar=function(){};我这样做有什么区别:functionbaz(){}baz.prototype=newfoo();在这两种情况下,baz最终都有一个成员bar但有什么不同呢?为什么我要在不同的地方这样做? 最佳答案 区别在于属性位于原型(prototype)链中的位置。假设我们有f=newfoo()

javascript - 使用原型(prototype)扩展 Javascript Form 对象

是否有机会在Form对象上使用原型(prototype),这是行不通的:Form.prototype.myFunc=function(){alert('OK!');}另一方面,String对象是可扩展的,例如:String.prototype.trim=function(){returnthis.replace(/^\s\s*/,'').replace(/\s\s*$/,'');} 最佳答案 如果你的意思是HTMLFormElement,那么它应该是HTMLFormElement.prototype.myFunc=function(

javascript - 用 jQuery/prototype 解析 onclick ="setLocation(...)"

我在示例中有这个标签:我需要做的是在单击按钮时发起ajax请求。我需要将上面的URL段“product/17”附加到我的ajaxurl。有什么巧妙的方法可以在不使用正则表达式的情况下提取它?HTML不可更改-但是我可以修改URL,在这种情况下,我需要从onclick属性中提取准确的URL。所以我需要从onclick属性中提取URL或“product/17”,希望不使用正则表达式。谢谢 最佳答案 所以,如果没有使用RegExp,也没有解析字符串的标准,这是最简单的解决方案:varstr=​$("button").attr("oncli