草庐IT

make_new_type

全部标签

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

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

javascript - Backbone 和 TypeScript,一段不幸的婚姻 : Building a type-safe "get"?

我正在尝试将TypeScript与Backbone.js结合使用。它“有效”,但是Backbone的get()和set()失去了大部分类型安全。我正在尝试编写一个可以恢复类型安全的辅助方法。像这样:我会把它放在我的模型中:object():IMyModel{returnattributes;//exceptIshoulduseget(),notattributes,perdocumentation}这在消费者中:varmyVar=this.model.object().MyProperty;通过这种语法,我得到了TypeScript的知识,即MyProperty存在并且是bool,这太

JavaScript 样式 : don't use wrapper objects for primitive types

在GoogleJavaScript风格指南中,它说不要对基本类型使用包装对象。它说这样做是“危险的”。为了证明它的观点,它使用了这个例子:varx=newBoolean(false);if(x){alert('hi');//Shows'hi'.}好吧,我放弃了。为什么这里执行if代码? 最佳答案 因为每个typeofObject的变量都是真实的,包装器是对象。 关于JavaScript样式:don'tusewrapperobjectsforprimitivetypes,我们在StackO

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 - 无法在 'getComputedStyle' : parameter 1 is not of type 'Window' error 上执行 'Element'

我在使用一些继承代码时遇到了问题-它是类似于FB的墙上应用程序,注册用户可以在其中发布主题。很多代码是JS和jQuery,我对两者都知之甚少。发布主题时,主题被添加到数据库中,但屏幕在刷新之前不显示主题,但它应该立即显示-当我查看开发人员工具时,我收到错误:UncaughtTypeError:Failedtoexecute'getComputedStyle'on'Window':parameter1isnotoftype'Element'.当我展开错误时,我得到:curCSS@jquery-1.8.3.js:6825jQuery.extend.css@jquery-1.8.3.js:6

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

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

javascript - 为什么 jQuery 的 $.type() 定义为返回 "object"而不是 "error"用于原生 ECMAScript 错误对象?

更新:我创建了一个工单:http://bugs.jquery.com/ticket/12191jQuery的$.type()函数返回对象的[[Class]]内部属性(小写)。例如:$.type({})//"object"$.type([])//"array"$.type(function(){})//"function"但是,它只适用于这些类型的对象:BooleanNumberStringFunctionArrayDateRegExpObject这段jQuery的源码指定://Populatetheclass2typemapjQuery.each("BooleanNumberStrin

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

javascript - 从 JS 闭包 : should i use the "new" keyword? 创建对象

我用这个示例在SO中回答了一个关于闭包的问题:functionConstructor(){varprivateProperty='private';varprivateMethod=function(){alert('calledfrompublicmethod');};return{publicProperty:'impublic',publicMethod:function(){alert('calledfrompublicmethod');},getter:privateMethod}}varmyObj=newConstructor();//publicvarpubProp=my