草庐IT

New-Object

全部标签

javascript - 了解 Crockford 的 Object.create shim

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

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 - 用数字创建日期 (new Date(2012, 03, ...) 给出错误的月份 (+1)

当使用数字作为部分创建新日期对象时,我得到的值正好比我为“月”输入的值早一个月。newDate(2012,05,17,00,00,00)SunJun17201200:00:00GMT+0800(HKT)//june?!但是,完全相同的字符串的正常解析会返回正确的时间:newDate("2012-05-1700:00:00")ThuMay17201200:00:00GMT+0800(HKT)我在ie/ff/chrome中得到了相同的结果。删除小时/分钟/秒没有任何效果。我可以通过在设置月份之前减去一个来解决这个问题,但我只是转而将我的日期写成字符串。编辑:字符串解析在IE中不起作用。我不

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”。

javascript - react .createElement : type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object

预计我应该能够导出我的App组件文件并将其导入到我的index.js中。结果出现以下错误React.createElement:typeisinvalid--expectedastring(forbuilt-incomponents)oraclass/function(forcompositecomponents)butgot:object我的index.jsconstReact=require('react');constReactDOM=require('react-dom');constApp=require('./components/App');require('./inde

Javascript : get all the object where id is like log_XXXX

我需要获取ID与特定模式匹配的所有对象。我该怎么做?谢谢! 最佳答案 当前浏览器://DOMcollectionasproperarrayconstmatches=Array.from(document.querySelectorAll('[id^=log_]'));旧版浏览器:(IE9+)//UseArray.prototype.slicetoturntheDOMcollectionintoaproperarrayvarmatches=[].slice.call(document.querySelectorAll('[id^=lo

通过 Object.create() 的 Javascript 原型(prototype)

varsomeObj=function(){}varp=newsomeObj();alert(someObj.prototype);//Thisworksalert(p.prototype);//UNDEFINED,butwhy?someObj.prototype.model="Nissan";alert(p.model);//Thisworks!Iunderstandthedynamicnatureofprototypes,butdoesn'tthatmeanthatp.prototype===someObj.prototype?为什么会这样?由于“p”是“someObj”的一个实例

javascript - 如何解决 JSLint 警告 "Do not use ' new' for side effects”?

为什么会出现这些错误?第329行第60行的问题:不要使用'new'作为副作用。newwidget.StyledDropdown(dojo.byId("sTitle"));第330行第61行的问题:不要使用'new'作为副作用。newwidget.StyledDropdown(dojo.byId("sSuffix"));第336行第57行的问题:不要使用'new'作为副作用。true,{shortenName:true,maxChars:20});第338行第129行的问题:不要使用'new'作为副作用。newwidget.StyledDropdown(dojo.byId("sCount

javascript - 为什么 Object.keys() 和 Object.getOwnPropertyNames() 在使用 ownKeys 处理程序调用 Proxy 对象时会产生不同的输出?

我有以下代理:constp=newProxy({},{ownKeys(target){return['a','b'];},});MDN说:Thistrapcanintercepttheseoperations:Object.getOwnPropertyNames()Object.getOwnPropertySymbols()Object.keys()Reflect.ownKeys()因此,我希望Object.getOwnPropertyNames()和Object.keys()产生相同的输出。但是,Object.getOwnPropertyNames(p)返回['a','b'](正如预

javascript - 传入动态 key :value pairs to an object literal?

这个问题在这里已经有了答案:IsitpossibletoadddynamicallynamedpropertiestoJavaScriptobject?(20个答案)关闭6年前。我正在使用这段代码(如下所示)尝试在for循环中填充名为Parameters的对象文字。我需要key:value对与迭代i变量的循环一起分配,例如:{key_1:chunks[1],key_2:chunks[2]}。但是,我的代码不起作用。'key_'+i未反射(reflect)在文字中。显然,我在这里缺少一些东西。谁能告诉我它是什么?...谢谢。varParameters=[];varlen=chunks.l