草庐IT

Prototype

全部标签

javascript - Object.prototype.toString.apply(value) 与 value.toString() 有何不同?

据我了解,前者将:在Object上找到toString方法在value上调用它,但this绑定(bind)到valuevalue.toString()会。在value的原型(prototype)链中找到toString方法通过函数调用模式调用toString将与this绑定(bind)的值作为值所以不同之处在于,如果值中有一个重写的toString方法……它将使用它。我的问题是:这是唯一的区别吗?相反,如果我们想保证我们正在调用Parent的方法而不可能被Child覆盖,那么此模式是否是使用的标准模式?(在这种情况下,Parent=Object,Child=类值来自,如果我们以经典方式

Javascript 原型(prototype)常量声明

我正在使用RESTfulAPI,我的Javascript代码通过jQuery的$.ajax()调用进行REST查询。我已经实现了一个javascriptRest类,我将在下面展示它(大大简化):varRest=function(baseUrlPath,errorMessageHandler){...};//DeclareHTTPresponsecodesasconstantsRest.prototype.STATUS_OK=200;Rest.prototype.STATUS_BAD_REQUEST=400;...//otherrestmethodsRest.prototype.post

javascript - Array.prototype.slice - 如果结束参数大于数组长度怎么办?

我找不到它-如果传递给Array.prototype.slice的end参数大于数组长度怎么办?我已经对其进行了测试并且可以正常工作(在Chrome中),但我不确定这是否是标准行为因此可以普遍使用? 最佳答案 如果end大于数组的长度,则使用数组的长度。来自thespec:IfrelativeEndelseletfinalbemin(relativeEnd,len).所以是的,这是可以使用的标准行为。解决您问题的这一部分:Ican'tfindit我发现最快的方法是搜索“mdnarrayslice”——第一个结果通常是MozillaD

javascript - 防止 ASP.NET MVC 在 Html Helper ID 中用下划线替换句点

刚升级到最新的ASP.NETMVC候选发布版后,我注意到,在使用HtmlHelpers时,任何带有句点“.”的名称。当输出元素的ID时,它会将其替换为下划线“_”。我相信这是toaidinusingJQuery并且使用期间是为了辅助ModelBinders的使用。这破坏了我们所有使用原型(prototype)的javascript,因为ID都已更改。有没有办法轻松关闭此功能? 最佳答案 摘自ASP.NETMVCRC1发行说明(第15页)。Inthisrelease,bydefaultthedotcharacterisautomati

javascript - 关于 JavaScript 中的继承的问题

你能解释一下下面提到的两个代码之间的区别吗?functionPerson(){}Person.prototype.dance=function(){};functionNinja(){}Ninja.prototype=Person.prototype;和functionPerson(){}Person.prototype.dance=function(){};functionNinja(){}Ninja.prototype=newPerson();我对这些行有点困惑:Ninja.prototype=Person.prototype;和Ninja.prototype=newPerson(

javascript - 为什么有些方法有 .prototype 而有些没有?

关于prototype的问题:为什么有些Array方法有.prototype而其他人则没有?documentation声明“Array.prototype表示Array构造函数的原型(prototype)”。我试图将此声明与以下理解相协调prototype是引用父类型的属性,因为这是实现继承的方式。如果后者为真,那么Array的父类型是什么?谁“拥有”像map()这样的方法和indexOf()?我的主要问题是第一行的问题。 最佳答案 Iamtryingtoreconcilethisstatementwiththeunderstand

javascript - 使用 jasmine 监视构造函数

我想监视构造函数并使用jasmine告诉它被调用了多少次。我通常会做这样的事情来定位对象的方法:spyOn(lib,'methodName')但在这种情况下,我试图监视实际的构造函数,所以我尝试过:spyOn(lib);it('libshouldbeinstantiatedforeachmatchingelement',function(){spyOn(lib);expect(lib.calls.count()).toEqual(2);});不幸的是,这只会在控制台中给我一个错误:"Error:undefined()methoddoesnotexistin..."我如何监视构造函数?

javascript - 在 Javascript 中扩展原型(prototype) - 好方法?

我想验证在扩展原型(prototype)时我使用的方法是否正确-假设“扩展”是正确的词。这个主题得到了很多克隆。我仍在努力正确理解这个主题...目的是:-编写干净和良好的代码。-避免使用框架,如果可能的话,使用纯Javascript。-获得有关不扭曲JS以获得启用类的行为的干净框架的建议。这是我的沙箱的父级原型(prototype):functionParent(){}Parent.prototype={"init":function(){this.name="anon";},"initWithParameters":function(parameters){this.name=par

JavaScript:构造函数与原型(prototype)

之前已经回答过这个问题,但我想确认一下我的理解。在这段代码中:varsomePrototype={speak:function(){console.log("Iwasmadewithaprototype");}}functionsomeConstructor(){this.speak=function(){console.log("Iwasmadewithaconstructor");}}varobj1=Object.create(somePrototype);varobj2=newsomeConstructor();obj1.speak();obj2.speak();他们基本上都在做

javascript - Magento 中的 HTML <script> async 属性

我想尝试在Magento1.9.1的PrototypeJavaScriptscript标签中插入“async”属性:我会得到这样的结果:我必须在哪里插入“async”?带有此行代码的文件是什么?谢谢 最佳答案 看文件app/design/frontend///layout/page.xml(或将app/design/frontend/base/default/layout/page.xml复制到您的主题中)。在此文件中,搜索以下行:prototype/prototype.js并更改addJs电话:prototype/prototyp