草庐IT

prototype-chain

全部标签

javascript - 如何获取数组原型(prototype)图中的当前索引?

我正在使用Array.prototype.map.call在数组中存储一堆节点列表对象:functiongetListings(){returnArray.prototype.map.call(document.querySelectorAll('li.g'),function(e){return{rectangle:e.getBoundingClientRect();}}}但是,我还想存储此元素在DOM中出现的顺序,但我不知道该怎么做。我知道我将它存储在一个数组中,顺序将是数组的索引。例如:varlistings=getListings();console.log(listings[

Javascript 在 Child 中调用 Parent 构造函数(原型(prototype)继承) - 它是如何工作的?

我知道它有效,但我不知道为什么以及如何。机制是什么?//ParentconstructorfunctionParent(name){this.name=name||"Thenamepropertyisempty";}//ChildconstructorfunctionChild(name){this.name=name;}//Originaly,theChild"inherit"everythingfromtheParent,alsothenameproperty,butinthiscase//IshadowingthatwiththenamepropertyintheChildcon

javascript - 使用类和原型(prototype)编写 jQuery 插件

以这种方式(使用类和原型(prototype))编写插件是好是坏,这种代码的缺点是什么?functionPluginName(jqueryObject,options){}PluginName.prototype={publicMethod:function(){},_privateMethod:function(){}}//InitializingvarmyPluginInstance=newPluginName($(".mySelector"),{myOption:1});myPluginInstance.publicMethod(); 最佳答案

javascript - 可重用的 javascript 对象、原型(prototype)和范围

MyGlobalObject;functionTheFunctionICanUseRightAwaySingleForAllInstansesAndWithoutInstanse(){function(){alert('NOCONSTRUCTORWASCALLED');}};长命名函数必须可从MyGlobalObject调用,这反过来必须在脚本加载后始终作为全局变量(到window)可用。它应该支持符合最新标准的可扩展性。我处于如何为应用程序构建JS基础的架构困境(几乎100%JS)。我们需要一个对象,即window.MyObject(像一个模块,像jQuery)所以它可以用VAR1v

javascript - 猴子修补 XMLHttpRequest.prototype.open 和 "touching"参数

我正在尝试为在IE8兼容模式下运行的Intranet站点打补丁XMLHttpRequest.prototype.open但它一直抛出SCRIPT438:Objectdoesn'tsupportthispropertyormethod。奇怪的是...如果我先“触摸”arguments,即取消注释bar,它工作得很好!有谁知道为什么,如果触摸它确实可以在100%的情况下解决问题?varfoo=window.XMLHttpRequest.prototype.open;window.XMLHttpRequest.prototype.open=function(){//varbar=argume

javascript - 依赖 Function.prototype.toString 安全吗?

依靠Function.prototype.toString返回一个将解析为有效javascript函数(对于用户定义的函数)的字符串是否安全?是否有任何常用的javascript引擎在以字符串形式表示函数对象方面偏离了规范?我看过thisquestion,但我不确定它是否在问同样的事情。我不在乎所有实现中的格式是否完全相同或其他什么,我更担心一些缩小的js引擎只是剥离了整个函数体......另一个relatedquestion,但相关性不够密切,无法为这个问题提供令人满意的答案。 最佳答案 我认为它是安全的,因为它是一个标准。每个严

JavaScript prototype.init 疯狂

谁能解释一下prototype.init函数在JavaScript中的意义以及它在对象实例化过程中何时被调用?为什么要用空函数覆盖它?我正在阅读JavaScriptforWeb这本书,并且在过去的几个小时里一直停留在这个问题上......一段代码应该实现什么?varClass=function(){varklass=function(){this.init.apply(this,arguments);};klass.prototype.init=function(){};//Shortcuttoaccessprototypeklass.fn=klass.prototype;//Shor

javascript - Prototype 可以扩展 SVG 元素吗?

我正在尝试开发交互式SVGmap,但似乎无法让Prototype扩展内联SVG元素。这是我的示例代码(删除了路径数据,因为它很大):...console.log($('nottamap'));console.log($('nottamap').identify());console.log($('counties'));console.log($('counties').identify());运行结果为:nottamap$("counties").identifyisnotafunction$()只是拒绝扩展传递给它的元素,如果它是SVG元素的一部分。Prototype与XML元素的

Javascript 扩充基本类型(原型(prototype)继承)

我刚刚开始阅读DouglasCrockford的“JavascriptTheGoodparts”,他在其中解释了增强基本类型。Function.prototype.addMethod=function(name,func){this.prototype[name]=func;returnthis;};执行此操作后,addMethod可用于所有基本对象,如String、Number等.这让我很困惑为什么我没有将它添加到Object.prototype时会发生这种情况?为什么将方法添加到Function.prototype会反射(reflect)在所有基本对象中?

javascript - 如何在返回单个对象时递归使用 Array.prototype.find()?

我试图解决的更大问题是,鉴于此数据:vardata=[{id:1},{id:2},{id:3},{id:4,children:[{id:6},{id:7,children:[{id:8},{id:9}]}]},{id:5}]我想创建一个返回{id:id}的函数findById(data,id)。例如,findById(data,8)应该返回{id:8},而findById(data,4)应该返回{id:4,children:[...]}.为了实现这一点,我递归地使用了Array.prototype.find,但是当return将对象混合在一起时遇到了麻烦。我的实现返回特定对象的路径。例