草庐IT

new-style-class

全部标签

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

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

javascript - ExtJS 3 : Two ways of creating custom class: what's the difference?

我正在努力学习ExtJS和面向对象的JavaScript。我见过人们以多种方式在自定义命名空间中定义类。这两种方法有什么区别?方法一Ext.ns('myapp.cars');(function(){varCar=Ext.extend(Object,{//...})myapp.cars.Car=Car;})()方法二Ext.ns('myapp.cars');myapp.cars.Car=Ext.extend(Object,{//...});方法二更易读,需要的代码更少;有什么理由方法1更好吗?谢谢! 最佳答案 基本相同,只是第一种方法

javascript - @types/styled-components 重复标识符 FormData

如果我在我的项目中添加@types/styled-components,我将在构建输出中出现一堆错误:ERRORin/Users/me/projects/react/node_modules/@types/react-native/globals.d.ts(36,15):TS2300:Duplicateidentifier'FormData'.ERRORin/Users/me/projects/react/node_modules/@types/react-native/globals.d.ts(81,5):TS2717:Subsequentpropertydeclarationsmu

javascript - Angular 4 : Build to prod: Property is private and only accessible within class

我正在使用Angular4,我正在运行:ngbuild--prod我明白了:ngbuild--prodYourglobalAngularCLIversion(1.2.2)isgreaterthanyourlocalversion(1.0.0).ThelocalAngularCLIversionisused.Todisablethiswarninguse"ngset--globalwarnings.versionMismatch=false".Hash:7fce5d10c4c3ac9745e8Time:68351mschunk{0}polyfills.7790a64cc25c48ae62

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

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

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 - `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 - 无法读取 null 的属性 'style' - Google 登录按钮

我正在尝试为我的网站实现Google登录。登录按钮会正确显示,并且最初会成功登录。当我在使用该网站后注销并尝试移至登录页面时,我的问题就出现了(我使用的是React,所以都是一页)。我使用完全相同的函数来呈现登录页面,但它给了我一个“cb=gapi.loaded_0:249UncaughtTypeError:Cannotreadproperty'style'ofnull”。gapi的错误就出现在这里(至少我是这么认为的):a.El;window.document.getElementById((c?"not_signed_in":"connected"这是我最初添加要呈现的登录按钮的方

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