草庐IT

value_function

全部标签

javascript - 如何使用 for 循环获取 javascript-value 对象中的最后一项?

varobj={'a':'apple','b':'banana','c':'carrot'}如果我做一个for(varkeyinobj){console.log(key+'hasavalue'+obj[key]);}它将遍历obj中的所有值。如果我有一个更大的对象,我怎么知道我是否在该for循环的最后一次迭代中?我意识到键值对并不是真正按顺序组织的,但我需要在这个循环的最后一次迭代中完成一些事情,但不知道如何做。 最佳答案 不要使用for(keyinobj),它会遍历包括原型(prototype)属性在内的所有可枚举属性,并可能导致

javascript - 将对象转换为键值对象数组,如 `{ name: "Apple",value : "0.6" }`

我有一个这样的对象:consttotal={"Apple":0.6,"Banana":0.6,"Orange":1,"Grapes":0.4,"Pineapple":0.4};现在我想将它转换成一个键值对象数组,其中每个对象都有相同的两个属性集,"name"和"value",分别保存原始对象的每个属性的键和值:[{"name":"Apple","value":0.6},{"name":"Banana","value":0.6},{"name":"Orange","value":1},{"name":"Grapes","value":0.4},{"name":"Pineapple","v

javascript - document.getElementById().value 在 chrome 中返回未定义

2JavaScript代码:var_h=document.getElementById('hour').valuealert(_h);Chrome返回undefined。有什么问题? 最佳答案 .value属性适用于表单元素(输入),不适用于div。获取div元素内容的最简单方法是使用.innerHTML:document.getElementById('hour').innerHTML; 关于javascript-document.getElementById().value在chro

Javascript 正则表达式.test() "Uncaught TypeError: undefined is not a function"

只是尝试通过.test()函数使用javascript的正则表达式功能。varnameRegex='/^[a-zA-Z0-9_]{6,20}$/';if(nameRegex.test($('#username').val())){...}错误在这一行if(nameRegex.test($('#username').val())){调试器在那里中断并说“UncaughtTypeError:undefinedisnotafunction”。好像.test()没有定义?不应该吗? 最佳答案 就目前而言,nameRegex不是正则表达式而是

javascript - 正在使用 var foo = function foo() {};在 IE < 9 中创建内存泄漏的表达式?

我知道这种形式:varfoo=functionbar(){};会将bar名称泄漏到封闭范围并在jscript中创建两个函数。怎么样:varfoo=functionfoo(){};?它仍然将名称泄漏到封闭范围,但无论如何它都在那里(thxtovarfoo)。我知道它将在整个范围内定义,但它会创建两个函数并立即取消引用/销毁其中一个,还是这仍然会导致泄漏?在这种情况下:varbar=function(){foo();varfoo=functionfoo(){};}bar()中是否有两个函数对象?编辑好的,它肯定创建了两个函数对象,现在的问题是:在varfoo行之后,由命名定义创建的函数是否

javascript - Visual Studio 2010 JavaScript Intellisense 在 "function"中大写 F

我最近遇到了一件非常烦人的事,我不明白为什么会这样。不确定它是什么时候开始的,因为我最近擦了我的机器,所以它可能是最近的更新,也可能是很久以前的。不管怎样,这就是正在发生的事情。当我在内联声明一个匿名函数并开始键入“function(){...}”部分时,VS2010intellisense出现并将我的小写函数替换为它自己的大写“Function”。我想这是JavaScript或JScript或其他东西中的一些静态函数,但我不知道。无论哪种方式,当我键入“()”时,它都假定这就是我想要的。如果我声明一个独立的函数,它不会受到影响,因为我没有在后面加上“()”,所以它只保留我输入的内容。

javascript - 有什么方法可以为 Javascript 数组中的惰性变量定义 getter?

我正在尝试将元素添加到延迟计算的数组中。这意味着在访问它们之前不会计算或知道它们的值。这就像一个previousquestionIasked但对于对象。我最终为对象做的是Object.prototype.lazy=function(var_name,value_function){this.__defineGetter__(var_name,function(){varsaved_value=value_function();this.__defineGetter__(var_name,function(){returnsaved_value;});returnsaved_value;

javascript - 如何处理 Firebase Cloud Functions 中的错误 JSON?

我正在创建一个使用firebase-cloud-functions的firebase应用程序。索引.jsexports.auth=functions.https.onRequest((request,response)=>{response.status(200).send({status:"SomeStatus"});}这是非常简单的功能。我想使用一些负载在端点上发出POST请求。当我使用FirebaseCloudFunctionEmulator和带有badjson的POSTman测试API时{"phoneNumber:"9632725300"}服务器刚刚崩溃了!我的问题是如何处理这

javascript - Function.prototype.toMethod() 是做什么的?

我注意到Function.prototype在实验性JavaScript中有一个toMethod()方法,但它实际上做了什么?我该如何使用它? 最佳答案 更新:toMethod方法只是实验性的,没有成为标准。home对象现在基本上是静态的,操作super的唯一方法是更改​​[[prototype]]:varbase={…};//asbelowvarobj=Object.setPrototypeOf({foo(){//needstousemethoddefinitionsyntaxsuper.foo();}},base);obj.fo

javascript - Function.prototype.bind() 总是很慢吗?

我正在编写一个开源javascript库,并且大量使用.bind()方法,因为我认为面向对象的代码看起来更清晰。(尽管有争议)示例A1:varthat=this;setTimeout(function(){that.method();},0);对比B1:setTimeout(this.method.bind(this),0);或者,更实用的代码部分A2:remoteDataSource.getData(function(a,b,c,d){obj.dataGetter(a,b,c,d);})对比B2:remoteDataSource.getData(obj/*orprototype*/.