草庐IT

javascript - 使用正则表达式键匹配 Javascript 遍历对象获取值

varobj={Fname1:"John",Lname1:"Smith",Age1:"23",Fname2:"Jerry",Lname2:"Smith",Age2:"24"}对于这样的对象。我可以使用正则表达式在诸如Fname*,Lname*之类的键上获取值并获取值吗? 最佳答案 是的,当然可以。方法如下:for(varkeyinobj){if(/^Fname/.test(key))...dosomethingwithobj[key]}这是正则表达式方式,但对于简单的东西,您可能需要使用indexOf()。如何?方法如下:for(v

javascript - 从对象数组中获取所有唯一的对象属性

假设我有一个对象数组,例如[{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","car":true},{"firstName":"Peter","lastName":"Jones"}]我想从这个对象数组中获取所有唯一的属性名称,所以结果将是:[firstName,lastName,car]我该怎么做:我可以想象可以用这样的东西来做到这一点:functiongetPropertiesNames(obj){vararr=[];for(varnameinobj){if(arr.indexOf(name)!=-1)arr.pus

javascript - 'is an instance of' 在 Javascript 中是什么意思?

这个问题的答案:WhatistheinitialvalueofaJavaScriptfunction'sprototypeproperty?有这样一句话:Theinitialvalueofprototypeonanynewly-createdFunctioninstanceisanewinstanceofObject据我所知,Javascript没有类,因此“实例”这个词在我脑海中没有意义。应该如何解释Javascript中的“实例”?抱歉,我没有足够的代表将我的问题放在该答案的评论线程中。 最佳答案 你说得对,JavaScript

javascript - 未捕获的类型错误 : Property '$' of object [object DOMWindow] is not a function

我的脚本在Chrome中出现:UncaughtTypeError:Property'$'ofobject[objectDOMWindow]isnotafunction错误。functionshowSlidingDiv(){$("#slidingDiv").fadeToggle("slow","linear");}functionshowSlidingDiv2(){$("#slidingDiv2").fadeToggle("slow","linear");}functionshowSlidingDiv3(){$("#slidingDiv3").fadeToggle("slow","lin

javascript - 如何在 JavaScript localStorage 中存储(字典)对象?

我有一本非常简单的字典。varmeta={'foo':'1','moo':'2'}我想将它存储在本地存储中并检索它。window.localStorage.setItem("meta",meta);varmeta1=window.localStorage.getItem("meta");alert(meta1['foo']);以上是行不通的。我该怎么做? 最佳答案 localStorage将其输入转换为字符串,因此您必须将对象转换为JSON字符串,然后返回:window.localStorage.setItem("meta",JSO

javascript - Backbone.js - 未捕获的类型错误 : Object [object Object] has no method 'apply'

我是Backbone.js的新手。对于试验/初始开发,我将所有内容都放在标签的一页上,但我开始将代码分离到一个单独的.js文件中。在我这样做之后,我收到来自路由器的错误。未捕获的类型错误:对象[对象对象]没有方法“应用”这是我的路由器代码:varAppRouter=newBackbone.Router.extend({routes:{":uuid":"details"},details:function(uuid){//loaddetailsnewDetailView({id:uuid,el:$('#detailView')});}});varappRouter=newAppRoute

javascript - 使用 stringify 将对象设置和获取到本地存储?

创建一个名为car的对象:functioncar(temp){this.brand=temp[0];this.color=temp[1];this.year=temp[2];}vartemp=['Skoda','Red','2012'];car=newcar(temp);从本地存储读取后设置对象和字符串化:localStorage.setItem('car',car);car=localStorage.getItem('car');car=JSON.stringify(car);carafterstringify---------------->[objectObject]atfile

函数内的 JavaScript 通过变量名调用函数

这个问题在这里已经有了答案:dynamicallycalllocalfunctioninjavascript(5个答案)关闭8年前。当函数名称在变量中时,我在调用另一个函数内部的函数时遇到困难:varobj={}obj.f=function(){varinner={a:function(){functionb(){alert('gotit!');}b();//WORKSASEXPECTEDx='b';[x]();//DOESN'TWORK,NEITHERthis[x]()window[x](),etc.}}inner.a();}obj.f();我尝试使用不同的范围路径为[x]()添加前

javascript - 为什么 JavaScript 原语不是 instanceof Object?

今天正好有太多时间打发时间,玩了一下Node(v0.10.13)命令行:>1instanceofObjectfalse>(1).__proto__{}>(1).__proto__instanceofObjecttrue>(1).__proto__.__proto__===Object.prototypetrue现在,根据MDN,instanceof所做的是:Theinstanceofoperatortestswhetheranobjecthasinitsprototypechaintheprototypepropertyofaconstructor.但显然Object.prototyp

javascript - 是否有不可变版本的 Object.assign?

我想在JavaScript中混合两个对象:leta={x:1,y:2,z:3};letb={x:10,y:20};letc=Object.assign(a,b);这给出了c的正确值:Object{x:10,y:20,z:3}但是现在a也被修改了!Object{x:10,y:20,z:3}有没有办法将a分配给b到一个新对象中? 最佳答案 assign的第一个参数是目标。所以它会被改变。如果您不想更改任何源,您可以简单地为目标传递一个空对象:leta={x:1,y:2,z:3};letb={x:10,y:20};letc=Object.