草庐IT

function-prototypes

全部标签

javascript - 为什么 Array.prototype.push 返回新的长度而不是更有用的东西?

自从在ECMA-262,3rdEdition中推出以来,Array.prototype.push方法的返回值是一个Number:15.4.4.7Array.prototype.push([item1[,item2[,…]]])Theargumentsareappendedtotheendofthearray,intheorderinwhichtheyappear.Thenewlengthofthearrayisreturnedastheresultofthecall.返回数组的新长度背后的设计决策是什么,而不是返回可能更有用的东西,例如:对新附加项的引用变异数组本身为什么这样做,是否有

javascript - Array.prototype.splice - 帮助理解一节课

这是教程中的一个函数:functionadd(){varvalues=Array.prototype.splice.call(arguments,[1]),total=0;for(varvalueofvalues){total+=value;}returntotal;}SOURCE表达式Array.prototype.splice.call(arguments,[1])让我很困惑。为什么是1?为什么要用括号[1]?如果我们传递1,它表示splice()中的start位置,因此它将跳过我们传递给add()的第一个参数>,因此它不会添加所有参数...这是教程中的错误吗?

javascript - 使用js函数的原型(prototype): How to know the prototype. js版本?

在jQuery中你可以使用$().jquery;并且你可以知道你的框架版本,是否有相同的原型(prototype)脚本?谢谢! 最佳答案 你可以使用Prototype.Version. 关于javascript-使用js函数的原型(prototype):Howtoknowtheprototype.js版本?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3652690/

javascript - 禁用 IE9 中的链接 - 原型(prototype) stop() 不工作

IE9仍处于Beta阶段,但都一样,这里有一个问题:使用prototype.js1.6.1,向链接添加点击事件并覆盖默认链接行为的正确形式是:mylink.observe('click',function(e){doSomething();e.stop();});虽然这在我尝试过的所有其他浏览器中都能完美运行,但IE9是一个独特的案例。默认事件行为触发,我的链接将我带到链接位置。stop()似乎没有在IE9中发挥作用。以下代码在IE9中完美运行:mylink.onclick=function(){doSomething();returnfalse;}知道我可以做些什么来修复在IE9中使

javascript - 是否有 JavaScript 的 Function.prototype.bind 的 Ruby 等价物?

JavaScript欢乐时光乐园//makeamethodvarhappy=function(a,b,c){console.log(a,b,c);};//storemethodtovariablevarb=happy;//bindacontextandsomeargumentsb.bind(happy,1,2,3);//callthemethodwithoutadditionalargumentsb();输出。耶!123在ruby中#makeamethoddefsada,b,cputsa,b,cend#storemethodtovariableb=method(:sad)#ineeds

javascript - Object.getPrototypeOf() 与 Javascript 中的 Object.constructor.prototype 相同吗?

Object.getPrototypeOf(obj)和obj.constructor.prototype有区别吗?或者这两个引用的是同一个东西? 最佳答案 没有它返回内部[[Prototype]]值(value)。例如:varo=Object.create(null);Object.getPrototypeOf(o);//nullo.constructor.prototype;//errorvarp={};varo=Object.create(p);Object.getPrototypeOf(o);//po.constructor.

javascript - 在 JavaScript 中使用 (function(){...})() 有什么好处

我注意到在JQuery中使用了下面的代码结构(function(){varl=this,g,y=l.jQuery,p=l.$,...})()这似乎创建了一个函数,并调用了它。采用这种方法与将函数内容内联相比有什么好处? 最佳答案 它创建一个闭包以防止与代码的其他部分发生冲突。看这个:http://docs.jquery.com/Plugins/Authoring如果您有一些其他使用$()方法的库并且您还必须保留将其与jQuery一起使用的能力,则此方法特别方便。然后你可以像这样创建一个闭包:(function($){//$()isa

javascript - 为什么 javascript 在传递给 function.apply() 或 function.call() 时会更改原始类型?

似乎当使用基本类型(字符串、数字)作为函数调用的this主题时(作为function.call()或functionapply()的第一个参数),基本类型被提升为其等效对象(例如,字符串变成字符串)。举例说明:varf=function(x){return[typeof(this),typeof(x)];}varobj='123'f.call(obj,obj)>>>["object","string"]也就是说,“this”成为一个对象(它是一个字符串对象,我已经检查过了),而调用的第二个参数成为函数“f”的第一个参数,并且仍然是原始字符串。对象都是都是“123”,但是一些微妙的事情不

javascript - 为什么函数原型(prototype)被重复链接?

我是JavaScript的新手。我正在阅读JavaScript的好部分。它说:Everyfunctionobjectisalsocreatedwithaprototypeproperty所以我做了这样的事情:functiontest(){}console.log(test.prototype);使用Chrome的开发者工具,我发现输出如下:我真的对这个输出感到困惑。为什么constructor的prototype属性再次嵌套在constructor中?为什么这会像链一样继续下去?我在哪里缺少这个概念?提前致谢。 最佳答案 函数的pr

javascript - Object.defineProperty 还是 .prototype?

我见过两种在javascript中实现非native功能的不同技术,首先是:if(!String.prototype.startsWith){Object.defineProperty(String.prototype,'startsWith',{enumerable:false,configurable:false,writable:false,value:function(searchString,position){position=position||0;returnthis.lastIndexOf(searchString,position)===position;}});}