草庐IT

Prototype_Console

全部标签

javascript - Object.prototype 的 UserScript 问题

我正在开发一个UserScript,我认为为对象创建2个原型(prototype)函数会节省更多时间。Object.prototype.Count=function(){varsize=0,key;for(keyinthis){if(this.hasOwnProperty(key)){size++;}}returnsize;};Object.prototype.GetEntry=function(index){varsize=0,key;for(keyinthis){if(this.hasOwnProperty(key)){if(size==index)returnthis[key];

javascript - 方法 Set.prototype.add 在不兼容的接收器上调用 undefined

我根本不明白为什么会出现这个错误。这是我在chrome的控制台上测试的内容:>varmySet;mySet=newSet;mySet.add('foo','bar','baz')//Workedasexpected['bar','baz'].forEach(mySet.add)X->VM1529:1UncaughtTypeError:MethodSet.prototype.addcalledonincompatiblereceiverundefined(…)提前致谢。 最佳答案 在这种情况下,当您将add方法作为回调传递时,它会丢失

javascript - console.log(array) 显示与迭代数组和显示单个元素不同的数组内容

我有以下代码:console.log("start");for(vari=0;i这给了我以下输出:[16:34:41.171]start[16:34:41.171]0=0[16:34:41.172]1=168[16:34:41.172]2=171[16:34:41.172][0,168,171,139][16:34:41.172]end也就是说,它在迭代数组时不显示139元素,但在输出整个数组时console.log确实打印了它。为什么?(我稍后会修改数组,console.log是否以某种方式延迟到我更改数组之后?请注意,改变语句的顺序,将consoel.log(array)直接放在开

javascript - 禁用与原型(prototype)观察方法的链接

我想创建一个这样的链接:text并替换行为,以便链接在单击时使用Ajax下载内容。对我来说重要的是不要替换href属性(因此复制链接仍然有效)。一个解决方案是:$('link').onclick=function(){returnfalse;};但我想使用.observe方法。但这不起作用:$('link').observe('click',function(){returnfalse;});(这很符合逻辑)。关于如何实现这一点有什么想法吗?谢谢。 最佳答案 你必须使用事件对象来实现原型(prototype)。$('link').o

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

假设我有一个函数:functiontest(){}test.prototype.method01=function(){//dosomething}test.prototype.method02=function(){//howcanIcallthemethod01?//this.method01()...?//butthechromethroughanerror://UncaughtTypeError:Object#hasnomethod'method01'}编辑:事实上method01是这样的:test.prototype.method02=function(){$('.cpy')

javascript - 了解使用 'Object.create()' 而不是 'new' 关键字创建原型(prototype)对象

我找到了包含这些行的代码vardata=function(){functionMetadata(){/*someinitializationhere*/}Metadata.prototype=Object.create(Backend.prototype);Metadata.prototype.constructor=Metadata;returnMetadata;}我很难理解到底发生了什么,以及如何使用返回的对象。如果我理解正确,data现在将是一个应该像这样初始化的对象vard=newdata()但我不明白以下几行以及为什么使用Object.create()而不是new关键字:Me

javascript - 如何在 PhantomJS 中测试 String.prototype.includes

我有一个ember-cli0.2.7使用Ember.js1.12.0应用程序,其中一段代码如下所示:controllers/cart.jsimportEmberfrom'ember';exportdefaultEmber.Controller.extend({footwearInCart:Ember.computed('model.@each.category',function(){returnthis.get('model').any(product=>product.get('category').includes('Footwear'));})});它遍历模型中的所有对象,如果

javascript - 将 ES6 插件扩展到 jQuery 原型(prototype)

我想寻求一些帮助,因为我无法使用模块和类在ES6中转换我的经典jQuery(v2)插件。在ECMAScript5中,我们可以像这样将jQuery插件附加到jQuery原型(prototype)中:app.js-通过HTML加载jQuery标签$.fn.myPlugin=function(){};$('div').myPlugin();而且有效:)。在ES6中,我会这样写:myPlugin.es6:import$from'jquery';exportdefaultclassmyPluginextends${//Couldiuseconstructor()method???}app.es6

javascript - 私有(private)和特权方法与原型(prototype)方法

在JavaScript中,我可以通过在构造函数中声明来创建私有(private)和特权方法。通过这种方式,我必须将它们移出对象的原型(prototype)。然后我失去了继承的可能性和一些性能,因为每个对象都将拥有这些方法的自己的副本,而不是访问一个原型(prototype)对象。所以我现在的问题是什么可能是petter模式:是否使用私有(private)和特权方法。我不太喜欢悬挂,所以我想避免这种情况。那怎么办呢?你的经历是什么? 最佳答案 我从未发现在JavaScript中创建所谓的“私有(private)”函数有任何值(valu

javascript - JS中原型(prototype)构造器的使用

有人可以向我解释Me.prototype.constructor=Me;的用法吗?当这段代码可以正常工作或没有它时,为什么需要它?在代码中,原型(prototype)对象是在Me对象上创建的,它被实例化并替换了旧的原型(prototype)对象。为什么我需要在放弃的代码中指向Me构造函数?functionMe(){this.name='Dejan';}functionYou(){this.name='Ivan';}Me.prototype=newYou();somebody=newMe();Me.prototype.constructor=Me;//Why?Me.prototype.f