草庐IT

crockford

全部标签

javascript - 让 jsdoc 和 Crockford 的设计模式相处融洽

我正在使用DouglasCrockford的designpattern实现私有(private)、特权和公共(public)方法。它基本上看起来像这样(使用RequireJS):define(function(){returnfunction(){varthat={},_init=function(){//"constructor"},_privateFn=function(){return42;};that.publicFn=function(){return2*_privateFn();};_init(arguments);returnthat;};});但是,我无法获取jsdoc

javascript - 了解 Crockford 的 Object.create shim

我一直在阅读关于防止覆盖原型(prototype)的Crockford垫片的资料,并且了解到它有时并不是万能的解决方案。我也明白ES5Shim可能是一个可行的替代方案。我还读了thispostwhichprovidesamorerobust,securealternative.不过,我还是想知道他的Object.createshim在“说”什么然后“做”什么。有人可以告诉我我的解释评论是否正确吗?if(typeofObject.create==='undefined'){//Ifthebrowserdoesn'tsupportObject.createObject.create=fun

javascript - crockford 说 undefined 不能是属性值是什么意思?

在Javascriptthegoodparts一书中,Ch3onobjects的开篇,它指出:Anobjectisacontainerofproperties,whereapropertyhasanameandavalue.Apropertynamecanbeanystring,includingtheemptystring.ApropertyvaluecanbeanyJavascriptvalueexceptforundefined.注意:undefined在书中被突出显示,表示它是一个文字。然而,在实践中,我能够做到。vara={"name":undefined};我的理解有什么问

javascript - 在哪里可以找到使用 Crockford 方法进行原型(prototype)继承的大型 JavaScript 项目的示例?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我已经阅读了有关Crockford插入usingJavaScriptinamoreobviouslyprototypalmanner的信息(克隆对象以创建新对象,从不使用“new”关键字)。但在野外,我从未见过有人将这种风格用于更大的项目。在哪里可以找到使用这种风格的大型项目的示例?

javascript - Crockford 的原型(prototype)继承 - 嵌套对象的问题

我一直在阅读道格拉斯·克罗克福德(DouglasCrockford)的“Javascript:好的部分”——虽然这本书有点极端,但我同意他所说的很多内容。在第3章中,他讨论了对象,并在某一点提出了一种模式(也是foundhere),用于简化和避免使用内置“new”关键字带来的一些混淆/问题。if(typeofObject.create!=='function'){Object.create=function(o){functionF(){}F.prototype=o;returnnewF();};}newObject=Object.create(oldObject);所以我尝试在我正在

javascript - crockford 的 JavaScript 构造函数模式真的应该更快吗?

我最近尝试为一个经常创建的值对象优化一些代码。(三维向量,fwiw)我尝试的一件事是将构造函数从匿名方法工厂模式转换为普通的JavaScript构造函数。这导致了severeperformancepenalty这让我感到惊讶,因为在我的lastquestion中强烈推荐使用"new"和普通构造函数关于JavaScript构造函数/工厂模式的主题。很可能是我的测试过于简单,或者完全错误,或者是最近在chrome的JavaScript引擎中进行的性能优化的结果,或者以上所有原因。无论如何,我真的很想知道为什么我的“优化”导致性能下降-以及-最重要的是:我的jsperf测试运行是否有任何明显

javascript - 如果 Crockford 建议我们将它用于原型(prototype)继承,为什么他说不要使用 new 关键字?

我看过一段视频,其中Crockford告诉我们不要使用new关键字。如果我没记错的话,他说要改用Object.create。为什么他告诉我们不要使用new,如果他在他写的这篇文章中使用它来实现原型(prototype)继承:http://javascript.crockford.com/prototypal.html我希望他使用Object.create而不是new,如下所示:functionobject(o){returnObject.create((function(){}).prototype=o);}那为什么他还在用new呢? 最佳答案

javascript - Crockfords 自上而下运算符优先级

出于兴趣,我想学习如何为一种简单的语言编写解析器,并最终为我自己的代码打高尔夫球语言编写解释器,一旦我了解了这些东西的一般工作原理。所以我开始阅读DouglasCrockfords的文章TopDownOperatorPrecedence.注意:如果您想更深入地了解下面代码片段的上下文,您可能应该阅读这篇文章我很难理解var语句和赋值运算符=应该一起工作。华盛顿特区定义一个赋值运算符,如varassignment=function(id){returninfixr(id,10,function(left){if(left.id!=="."&&left.id!=="["&&left.ari

javascript - Crockfords 自上而下运算符优先级

出于兴趣,我想学习如何为一种简单的语言编写解析器,并最终为我自己的代码打高尔夫球语言编写解释器,一旦我了解了这些东西的一般工作原理。所以我开始阅读DouglasCrockfords的文章TopDownOperatorPrecedence.注意:如果您想更深入地了解下面代码片段的上下文,您可能应该阅读这篇文章我很难理解var语句和赋值运算符=应该一起工作。华盛顿特区定义一个赋值运算符,如varassignment=function(id){returninfixr(id,10,function(left){if(left.id!=="."&&left.id!=="["&&left.ari

javascript - Douglas Crockford 谈 JavaScript 中的 Class Free OOP

DouglasCrockford就ES6的“TheBetterParts”发表了精彩的演讲。除此之外,他encouragesamoveawayfromprototypalinheritanceinfavorofclassfreeOOP.他在这里说他停止使用new、Object.create和this,但并没有真正解释替代方案。任何人都可以告诉我它的外观吗? 最佳答案 你应该观看整个视频,他在laterinthevideo上解释说.functionconstructor(spec){let{member}=spec,{other}=o