草庐IT

new-style-class

全部标签

javascript - 为什么不带括号调用 new Date?

这个问题在这里已经有了答案:Canweomitparentheseswhencreatinganobjectusingthe"new"operator?(6个答案)关闭6年前。我刚刚在不小心打开Gmail中的开发工具时看到了这个片段:varGM_TIMING_END_CHUNK1=(newDate).getTime();我通常会期待这样的事情,因为不带括号调用构造函数是相当不常见的(至少我直到现在才见过它):varGM_TIMING_END_CHUNK1=newDate().getTime();或varGM_TIMING_END_CHUNK1=Date.now();//newerbro

javascript - 使用 "new RegExp"和使用正斜杠符号创建正则表达式有什么区别?

使用newRegExp("regex");和/same_regex/来测试目标字符串有什么区别吗?我问这个问题是因为我在使用这两种方法时得到了不同的验证结果。这是我用来验证电子邮件字段的片段:varemail="didxga@gmail.comblah@foo.com";varregex1=newRegExp("^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$");v

javascript - 对使用 `map` 创建的数组上 `new` 的行为感到困惑

这个问题在这里已经有了答案:UndefinedvaluesinArray(len)initializer(5个答案)关闭7年前。我对mapping一个用new创建的数组的结果感到困惑:functionreturnsFourteen(){return14;}vara=newArray(4);>[undefinedx4]inChrome,[,,,,]inFirefoxa.map(returnsFourteen);>[undefinedx4]inChrome,[,,,,]inFirefoxvarb=[undefined,undefined,undefined,undefined];>[und

javascript - 如何使用类型缺少调用或构造签名的表达式解析 ' error TS2351: Cannot use ' new'?

我正在将一个名为Auth.js的.js文件(所以不是.ts文件)导入到我的reactjs和typescript应用程序中,所以在我的组件中我有这个:import*asAuthfrom'../Auth/Auth';..constauth=newAuth();这是我的Auth.js的一部分:exportdefaultclassAuth{auth0=newauth0.WebAuth({domain:AUTH_CONFIG.domain,clientID:AUTH_CONFIG.clientId,redirectUri:AUTH_CONFIG.callbackUrl,audience:`htt

javascript - 如何修复 JSLint "missing new"错误

下面的代码通过了JSLint导致错误:Problematline8character9:Missing'new'.ResizeGrid();如何修复?"usestrict";varResizeGrid;functiont(){varx;if(x){ResizeGrid();}} 最佳答案 勾选Tolerateuncapitalizedconstructors或重命名为resizeGrid();以防止lint假定其为函数构造函数(尽管调用未定义的var这样会引发其他错误)。 关于javas

javascript - 关于 JavaScript new Date() 和 Date.parse()

varexampleDate='23-12-201023:12:00';我想将上面的字符串转换成一个date并尝试了一些事情:vardate=newDate(exampleDate);//returnsinvalidDatevardate1=Date.parse(exampleDate);//returnsNAN此代码在IE和Opera中运行良好,但date返回无效的Date并且date1在Firefox中返回NAN。我该怎么办? 最佳答案 您示例中的字符串不是浏览器可识别的任何标准格式。ECMAScript规范要求浏览器只能解析一

javascript - 如何在 Leaflet 标记弹出窗口中使用 Angular 指令 ng-click 和 ng-class

我在我所在的位置使用Angular.JS和Leaflet.JS制作map,map标记上绑定(bind)了弹出窗口。我需要使用一个带有两个不同图标(一个显示在下面的代码中)的跨度,您可以单击它们来调用不同的函数,如果满足某些条件,则可以使用ng-class来更改类。这是我的代码:varmarker=L.marker([51.5,-0.09],{icon:blueIcon}).bindPopup('');然而,当我检查元素时,我得到了这个:ng-click应该发送特定对象和对象数组的函数,但是当我单击图标时没有任何反应。在我的研究中,我发现弹出窗口阻止了事件传播(moreinfo,但我不确

javascript - 我可以在不使用 new 关键字的情况下构造 JavaScript 对象吗?

这是我想做的:functiona(){//...}functionb(){//Somemagic,returnanewobject.}varc=b();cinstanceofb//->truecinstanceofa//->truebinstanceofa//->true这可能吗?我可以通过将aHook到其原型(prototype)链中,轻松地使b成为a的实例,但随后我必须执行newb(),这是我要避免的。我想要的可能吗?更新:我觉得明智地使用b.__proto__=a.prototype可能是可行的。下类后我会尝试更多。更新2:下面是您能得到的最接近的,这对我来说已经足够了。感谢大家

javascript - 在 JavaScript 中,为什么 [ ] 优于 new Array();?

我记得在某处读过(我想是在Crockford的一篇论文中),使用数组文字[]比使用newArray();表示法更好.但我真的记不起一个比另一个有什么优势。谁能向我解释为什么前者优于后者?这是我能想到的为什么[]比newArray();更好的原因之一:varArray=function(){};覆盖Array对象会破坏代码...!还有什么原因吗? 最佳答案 简洁它通过网络传输的字节更少,解释的字节更少,解析它的脑力资源更少。少即是多。一致性这两行代码有什么区别?vararr=[5];vararr=newArray(5);根据heren

javascript - 用于 TypeScript : Class or Interface? 中的纯数据对象的内容

我有一堆没有任何方法甚至构造函数的纯数据“类”(在.NET世界中我们称它们为POCO对象)。示例是客户、产品、用户实体,您可以命名...最初我开始使用typescript类,但现在我认为将它们声明为接口(interface)可能会更好。从性能的Angular来看,不仅...只是在C#中我们习惯于将接口(interface)用于不同的事物,对于“POCO”(Plain-old-clr-object,或“data-only”对象)我们使用只是一个类(有时甚至是结构)。在TypeScript中声明它们的正确方法是什么?请注意,我主要了解(我认为)类和接口(interface)之间的技术差异(