草庐IT

Prototype_Console

全部标签

javascript - 作为 Prototype 用户,我应该注意哪些 jQuery 烦恼?

我们正在考虑将我们的站点从Prototype切换到jQuery。由于对Prototype太熟悉了,我很清楚Prototype的一些限制或烦人之处。我想问jQuery用户的问题是:使用jQuery一段时间后,您觉得什么令人沮丧?有没有关于jQuery的事情让您考虑切换(返回)到Prototype? 最佳答案 我认为唯一让我着迷的是,当我对单个元素进行选择查询时,我必须记住它返回一个元素数组,即使我知道只有一个元素。通常,这没有任何区别,除非您想直接与元素交互而不是通过jQuery方法。 关

Javascript原型(prototype)扩展方法

我有一个原型(prototype)模型,我需要在原型(prototype)中包含以下扩展方法:String.prototype.startsWith=function(str){return(this.indexOf(str)===0);}例子:[JS]sample=function(){this.i;}sample.prototype={get_data:function(){returnthis.i;}}在原型(prototype)模型中,如何使用扩展方法或任何其他方式在JS原型(prototype)模型中创建扩展方法。 最佳答案

javascript - 是否有等同于原型(prototype)延迟的 jQuery?

是否有一个jQuery等同于原型(prototype)的延迟?我正在寻找可以延迟脚本执行直到页面中的所有脚本执行完毕的东西。谢谢!第二部分:有没有办法查看队列中是否还有其他setTimeouts并延迟执行直到它们触发?我在评论中看到,有时setTimeout为0或1并不重要,因为无法预测哪个会先触发。再次感谢!更新回答我从下面接受的答案中发现了我使用的代码中的错误。slice调用需要在0而不是1上工作,因为在Prototype核心代码中,它接受一个额外的参数来表示等待的时间量(0.01)。最后的方法变成了:Function.prototype.deferFunc=function(){

javascript - 我什么时候应该在 JavaScript 中使用 "prototype"

我用JavaScript/JQuery进行了大量编程。但我从未使用过“原型(prototype)”。事实上,我不知道这是什么意思。你有什么实用的例子吗? 最佳答案 最简单的例子:functionFoo(){this.bar=function(){return42;}}现在您可以根据需要创建任意数量的Foo实例并调用bar():vara=newFoo();varb=newFoo();尽管两个对象都有bar()方法,在这两种情况下完全相同,但它们是不同的方法。事实上,每个新的Foo对象都会有这个方法的一个新副本。另一方面:functio

Javascript 和函数原型(prototype)赋值

我一直假设一个函数的原型(prototype)在所有对象之间共享,在某种意义上是通过引用。因此,如果您更改原型(prototype)属性的值,则共享该原型(prototype)的所有对象的值也会更改。因此,例如下面的例子,它似乎不是在所有对象之间共享的属性栏,而是被复制的。这是正确的吗?构造函数原型(prototype)的属性是在创建时简单地复制到所有类对象,还是通过链接共享?functionfoo(){this.bar=1;}functionderived(){}derived.prototype=newfoo()object1=newderived()object2=newderi

javascript - console.log() 中的反斜杠 '\' 未出现

我试图在console.log()中使用反斜杠在内但似乎在加载页面时,所有反斜杠都被删除了。示例JSconsole.log('\m/Letsrock.\m/');结果m/Letsrock.m/如何防止它被删除?编辑:反斜杠不是正斜杠。在内使用express在node.js上运行它layout.jade的标签.反斜杠在REPL中可见,但在网络浏览器(Chrome和Firefox)的节点上运行时不可见。 最佳答案 如果m/让我们摇滚吧。m/是你的结果,我看到了正斜杠。如果您的意思是反斜杠,请将它们转义以表明该字符串需要文字反斜杠:con

javascript - 如何将 console.log 作为参数传递给我的 JavaScript 函数?

在下面的代码中,我可以使用print代替console.log,程序可以正常运行。但是我想使用console.log但我得到了Illegalinvocation运行时functionforEach(array,action){for(vari=0;i 最佳答案 通常您不能将方法直接传递给Javascript中的回调。this绑定(bind)在函数调用点,具体取决于您调用它的形式并且没有方法的自动绑定(bind)(就像在Python中那样)//doesnotwork.varobj={x:17,f:function(){returnth

javascript - 使用 Backbone 样式的原型(prototype)继承时防止无限递归

我正在使用从Backbone改编而来的扩展函数(除了为符合我雇主的命名约定而进行的一些更改外,它们完全相同)来实现原型(prototype)继承。设置以下结构后(下面大大简化)我得到一个无限循环。Graph=function(){};Graph.extend=myExtendFunction;Graph.prototype={generateScale:function(){//dostuff}}//baseclassdefinedelsewhereUsageGraph=Graph.extend({generateScale:function(){this.constructor._s

javascript - 理解函数的原型(prototype)属性

举个例子如果varFunc=function(){}这里的Func有一个名为prototype的属性,我可以像下面这样添加我的自定义方法。Func.prototype.move=function(){//dosomething}根据我的理解,原型(prototype)只是Func的另一个属性,它默认由解释器提供,不用于委托(delegate)任何功能,即。没有什么比Func.move()应用相同的逻辑,我正在创建相同功能的另一个属性,如下所示Func.method=function(){//dosomething}现在如果创建一个新对象varobj=newFunc();这里有obj.m

javascript - 我们是否仍然需要 ES6 中的原型(prototype)来让所有类实例共享一个方法副本?

更新2:这个问题一团糟,因为我认为ES6class不会修改.protototype,而它会,因此这正是我想要。我接受了最广泛的答案,即使所有的答案和评论应该在一开始就为我指明了正确的方向:)谢谢大家!旧的:在ES6之前的旧JS中,当我们学习如何创建“类”时:functionX(){this.foo=function(){}};varx=newX();我们还知道,每次我们执行x=newX();时,我们都会得到“foo”方法的副本,在每个实例中这是其中之一使用原型(prototype)是个好主意的原因。现在,在ES6中我们有了这个新的很酷的类语法,但有相同的“问题”,即这里复制了“f”方法