草庐IT

vertex-array-object

全部标签

javascript - 当您收到消息 "Object doesn' t support this property or method”时,您如何找出 "Object"是什么?

当您收到IE错误消息“对象不支持此属性或方法”时,您如何确定“对象”是什么?它总是一样的吗?如果不是,有没有办法使用诊断工具或控制台找出它是什么? 最佳答案 要获取IE的调试信息,必须开启脚本调试:在InternetExplorer中,从“工具”菜单中选择“Internet选项”。在“Internet选项”对话框中,单击“高级”选项卡。在“高级”选项卡上的“浏览”下,清除“禁用脚本调试”。单击“确定”。http://msdn.microsoft.com/en-us/library/ms241741%28v=vs.80%29.aspx

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 : Sorting an array

未排序的数组[输入]:[">30days","数组中元素的格式总是这样:Xdays要求:上面提到的数组应该按照greaterthen(>)排序和lesserthensymbol(并牢记天数(天数越少越好)。预期数组[输出]:["30days"];到目前为止已尝试:我试过了Array.sort()功能,但没有得到预期的输出。vararr=[">30days","30days"] 最佳答案 您可以按数字排序,如果比较符号可用,则将两个偏移量的增量取为相同的数值,这反射(reflect)了比较顺序。vararray=[">30days",

javascript - array.length 在 Javascript 中可以小于 0 吗?

因为人们经常使用array.length检查数组是否为空而不是array.length===0我想知道是否存在array.length可能小于0的情况。 最佳答案 不,length数组的是一个非负整数。来自thespec:EveryArrayhasanon-configurable"length"propertywhosevalueisalwaysanon-negativeintegralNumberwhosemathematicalvalueislessthan2^32.(我的重点)所以任何一种检查都很好,并且对于所有数组,两种检

javascript - 了解 Crockford 的 Object.create shim

我一直在阅读关于防止覆盖原型(prototype)的Crockford垫片的资料,并且了解到它有时并不是万能的解决方案。我也明白ES5Shim可能是一个可行的替代方案。我还读了thispostwhichprovidesamorerobust,securealternative.不过,我还是想知道他的Object.createshim在“说”什么然后“做”什么。有人可以告诉我我的解释评论是否正确吗?if(typeofObject.create==='undefined'){//Ifthebrowserdoesn'tsupportObject.createObject.create=fun

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 - 了解使用 '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 - array.length 为零,但数组中有元素

这个问题在这里已经有了答案:IsChrome’sJavaScriptconsolelazyaboutevaluatingobjects?(7个答案)关闭4年前。我目前正在练习使用Electron,但我对javascript还很陌生,我遇到了一个让我完全困惑的问题。我有以下代码:functiongetPaths(){vardirPath=document.getElementById("mdir").innerHTML;varfilePaths=[];fs.readdir(dirPath,function(err,dir){for(vari=0,l=dir.length;i它应该查看由d

javascript - 为什么我不能将 Array#includes 用于嵌套数组?

为什么以下行在Javascript中返回false:[[1,2,3],[1,2,4]].includes([1,2,3]);这背后的底层逻辑是什么? 最佳答案 includes使用SameValueZero进行比较平等算法。(如developer.mozilla.org中所述)。在搜索对象时(数组也是对象),它只会匹配对同一对象的引用。此外,Javascript数组是对象,您不能简单地使用相等运算符==来了解这些对象的内容是否相同。相等运算符只会测试两个对象是否实际上是完全相同的实例(例如myObjVariable==myObjVa

javascript - Object.prototype.toString.call(arrayObj) 和 arrayObj.toString() 的区别

这个问题在这里已经有了答案:Why"foo".toString()isnotthesameastoString.call("foo")?(3个答案)关闭7年前。我已经阅读了一些Material,但在语法方面还没有完全掌握概念,例如:vararrObj=[1,2,3];Object.prototype.toString.call(arrObj);//Gives"[objectArray]"arrObj.toString();//Gives"1,2,3"第2行和第3行有何不同?据我所知,两者都调用了toString方法并将当前对象设置为“arrObj”。