草庐IT

new_value

全部标签

javascript - 将 JavaScript 构造函数作为函数调用是否存在问题(没有 new?)

最近,我养成了调用RegExp、String、Number、Object、TypeError等而不使用“new”的习惯。例如:throw(TypeError("Error"));varregex=RegExp('^word$');我知道这对于需要“this”上下文的情况是不利的,因为没有“new”,“this”会对你的全局范围造成严重破坏,除非你将你的代码包装在'usestrict'中,在这种情况下它会引发您试图改变“未定义”的错误。(我不确定这是否适用于非常非常旧的浏览器)。例如:varconstructor=function(){//'usestrict';/*uncommentt

javascript - JavaScript 's “new” 关键字是否被认为是有害的(第 2 部分)?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion阅读以下内容question,我觉得大多数答案都没有说明为什么有些人(克罗克福德)选择不使用"new"关键字。这不是为了防止在没有“new”关键字的情况下意外调用函数。根据以下article由Crockford关于原型(prototype)继承,他实现了一种对象创建技术,更清楚地展示了JS的原型(prototype)性质。此技术现在甚至在JS1.8.5中实现.他反对使用new的论点可以更清

javascript - IE 抛出 JavaScript 错误 : The value of the property 'googleMapsQuery' is null or undefined, 不是函数对象(在其他浏览器中有效)

我在IE9中遇到JavaScript范围的真正问题。这是在我的文档正文中(是的,我知道脚本应该放在正确的HTML头部,但我以前从未让它破坏脚本)。该脚本在正文中,因为我不想弄乱仅与此页面相关的脚本的共享标题页:functiongoogleMapsQuery(accountNum){//functioncodeishere(omittedforbrevity)}这是在tdblock内部trblock内部tbodyblock内部tableblock内部body中的formblock:GoogleThis!我什至将脚本block移到表单上方,以防脚本函数声明的顺序相关(事实并非如此)。该脚本

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 - `new` 没有 `delete` 在 Javascript 中的相同变量

这样做可以吗?:functionmygetTime(){vard=newDate();return(d.getTime());}functionwasteSomeMemory(){vartemp;for(varcount=0;count调用wasteSomeMemory()会导致内存泄漏吗?这个怎么样:functionwasteSomeMemory2(){vartemp;for(varcount=0;count调用wasteSomeMemory2()会导致内存泄漏吗?我应该在for循环的末尾使用deletetemp;吗?functionwasteSomeMemory2(){vartem

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 - `new Image()` 和 `new Option()` 等构造函数记录在哪里?

不是在Mozilla,而是:图片:感谢Rickard用于识别http://www.w3.org/html/wg/drafts/html/CR/embedded-content-0.html#dom-image提供DOM接口(interface)构造函数的详细信息。对于选项:http://www.w3.org/html/wg/drafts/html/CR/forms.html#dom-option还给出了DOM接口(interface)构造函数的详细信息。(发现使用:http://www.google.com/search?client=ubuntu&channel=fs&q=const

javascript - 为什么在 JavaScript 中 `new` 的实例需要 `Date` 关键字?

我了解行为的差异。Date()返回表示当前日期的字符串,newDate()返回我可以调用其方法的Date对象的实例。但我不知道为什么。JavaScript是原型(prototype)化的,因​​此Date是一个函数和一个对象,该对象的成员函数(方法)也是对象。但我还没有编写或阅读过任何以这种方式运行的JavaScript,我想了解其中的区别。谁能告诉我一些函数的示例代码,它有一个方法,返回一个带有new运算符的实例,并在直接调用时输出一个字符串?即,这样的事情是如何发生的?Date();//returns"FriAug27201012:45:39GMT-0700(PDT)"newDat

javascript - 异步函数与返回 New Promise

更新我已经阅读了十几篇关于这个主题的文章,但没有一篇涉及这个基本问题。我将在本文末尾开始列出资源部分。原帖我对async函数的理解是它返回一个promise。MDN文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function在我的程序中我可以这样写:functiontestPromise(){returnnewPromise((resolve,reject)=>{//DOWORKreject()//IFWORKFAILSresolve()//IFWORKISS