Questions tagged «javascript»

JavaScript(不要与Java混淆)是一种高级,动态,多范式,弱类型的语言,用于客户端脚本和服务器端脚本。使用此标记可解决有关ECMAScript,JavaScript,JScript等的常见实现的问题。JS通常不引用其ECMA-表兄弟ActionScript。

2
Javascript三元运算符与||
我之前看过一些node.js代码,我发现编写它的人似乎更喜欢以下语法: var fn = function (param) { var paramWithDefault = null == param ? 'Default Value' : param; } 在我认为更为简洁的地方: var fn = function (param) { var paramWithDefault = param || 'Default Value'; } 我想知道第二种形式是否实际上是更易为社会接受的JavaScript语法,为此,我比三元运算符更清楚地看到了第二种形式。 我注意到在第一个示例中,他使用的是双重等于(而不是三次等于),这意味着它将“未定义”计数为null,这将减少我能想到的影响。但是,我在很多地方都读过==在JavaScript中是一个非常邪恶的运算符(JIRCint非常反对它,IIRC)。

4
我应该在哪里进行本地化(服务器端还是客户端)?
我目前正在基于富JavaScript客户端开发一个新的Web应用程序,该客户端可与服务器上的多个REST Web服务进行通信。该应用程序打算在至少两个使用不同语言的国家/地区使用,因此我们需要对其进行本地化。 我的问题是我应该在哪里管理本地化:REST服务应该接收请求并发送带有本地化数据的答案,还是客户端应该接收并发送通用数据然后负责进行本地化?

4
无法解决Javascript函数之谜
我试图了解Javascript幕后的景象,并迷恋于了解内置对象的创建,尤其是对象和函数以及它们之间的关系。 当我读取到所有内置对象(如Array,String等)都是从Object扩展(继承)时,我假定Object是第一个被创建的内置对象,其余对象都继承自该对象。但是,当您知道对象只能由函数创建时,然后函数也不过是Function的对象而已,这没有任何意义。听起来开始像母鸡和鸡肉的困境。 另一个非常令人困惑的事情是,如果我console.log(Function.prototype)打印了一个函数,但是当我打印时console.log(Object.prototype)它打印了一个对象。为什么Function.prototype当它打算成为一个对象时是一个函数? 同样,根据Mozilla文档,每个javascript function都是Function对象的扩展,但是当您console.log(Function.prototype.constructor)再次将其作为函数时。现在,您如何使用自己创建的东西(思维=吹动)。 最后一件事Function.prototype是一个函数,但是我可以constructor使用来访问该函数Function.prototype.constructor,这意味着Function.prototype一个返回prototype对象的函数

4
无法掌握编程设计模式
在过去的4年中,我一直在使用javascript。我对解决问题的能力非常有信心,并且可以看到我的代码质量正在提高。我尝试与社区保持同步,目前正在使用ES2015和React.js。但是,我觉得我根本无法掌握编程设计模式。我知道在哪里可以找到有关此资源的信息,并且我已经阅读了有关它的书籍。我依靠我的高级同事来制定项目结构的决策,但是我对此工作没有任何疑问。 每当我需要自己开始做某事时,我都会寻找这两个路径:如果我使用的是像React.js这样的大型库/框架,我倾向于复制社区正在做的事情;如果使用较小的模块,则将使用模块模式。我知道,一旦我对这个问题有了更好的理解,我就能做出更好的决定,但是现在我已经完全迷失了。 我应该为此寻求高级教育吗?我需要这个主题的导师吗?我只是愚蠢吗?这真的很难理解吗?

1
为什么ES6没有细箭头功能?
ES6添加了胖箭头功能(=>),与正常功能有两个主要区别: 较短的语法(如果使用单表达式主体,则包括隐式返回) this从周围范围继承 这两个都是非常有用的功能,但在我看来它们的价值和应用程序是完全分开的–有时我想要一个或另一个,或者两者兼而有之,或者都不想要。如果我想使用短语法功能,我还必须使用this-modifying行为,这似乎很奇怪。反之亦然。我不明白为什么将这两种功能作为语言的一个附加实现而实现。 如果我想为它的隐式返回和简洁性使用一个短语法函数(在某些情况下,完整的function (..) { return ...}可读性会稍差一些),但是我想this在我的函数中使用它来引用调用上下文,该怎么办?没有办法做到这一点。 CoffeeScript同时具有->和=>样式功能,并且显然ES6是=>从那里借来的样式。所以我的问题是,为什么ES6也没有借用->样式?
16 javascript  es6 

5
展平重叠范围的算法
我正在寻找一种展平(拆分)可能重叠的数字范围列表的好方法。问题与以下问题非常相似:最快的分割重叠日期范围的方法,还有许多其他方法。 但是,范围不仅是整数,而且我正在寻找一种可以在Javascript或Python等中轻松实现的体面算法。 示例数据: 解决方案示例: 抱歉,如果这是重复的,但是我还没有找到解决方法。

2
纯粹出于美学原因创建嵌套函数?
我一直想知道其他程序员对创建纯美学功能的想法有何看法。 假设我有一个处理大量数据的函数:Function ProcessBigData。说我需要几个处理步骤,仅适用于数据:Step1,Step2,Step3。 我在源代码中看到最多的普通方法是像这样编写注释: Function ProcessBigData: # Does Step1 Step1.. Step1.. #Does Step2 Step2.. Step2.. 我通常做的是,但由于同伴缺乏这种编码风格,总是感到不对劲: Function ProcessBigData: Function Step1: Step1.. Step1.. Function Step2: Step2.. Step2.. Step1() -> Step2() 我主要担心的是,这种样式在Javascript和Python中是否有缺点 我没有其他替代品吗?

5
避免在JavaScript中使用新运算符-更好的方法
警告:这是一篇冗长的文章。 让我们保持简单。我想避免每次在JavaScript中调用构造函数时都必须给新运算符添加前缀。这是因为我倾向于忘记它,并且我的代码严重搞砸了。 解决这个问题的简单方法是... function Make(x) { if ( !(this instanceof arguments.callee) ) return new arguments.callee(x); // do your stuff... } 但是,我需要接受变量号。这样的论点... m1 = Make(); m2 = Make(1,2,3); m3 = Make('apple', 'banana'); 第一个直接的解决方案似乎是这样的“应用”方法... function Make() { if ( !(this instanceof arguments.callee) ) return new arguments.callee.apply(null, arguments); // do your stuff } …
16 javascript 


8
Chromebook-程序员有兴趣吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 Google 昨天(2011年5月11日)发布了Chromebook。虽然这当然是一件好事,但我不知道为(非JavaScript)程序员买一个是否有趣。 你怎么看?例如,云中是否会有Java IDE?命令行,甚至?

12
学习JS时,您的Aha瞬间是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 您还记得学习JavaScript的时候吗?您突然“明白”的时刻是什么时候?(例如,我的CSS瞬间是当我了解盒子模型时...) 我问的原因是我学习JS已有6周的时间,但我仍然感到很困惑。这是我最近在SO上读到的一些引言: “ ..函数的作用类似于值,因为方法是具有函数值(也是对象)的对象的属性。” 我很好奇,如果您一开始也感到困惑,那是什么使您理解它。 (我正在阅读Sitepoint的“ Simply JavaScript”,《 Eloquent JavaScript》这本书,并遵循Lynda的Essential JavaScript教程。我没有任何编程经验,并且数学方面太糟糕了;) 谢谢!


5
像Elm所说的那样,拥有“没有运行时异常”有什么好处?
某些语言声称具有“无运行时异常”,这是与具有它们的其他语言相比的明显优势。 我对此事感到困惑。 据我所知,运行时异常只是一种工具,使用得当: 您可以传达“脏”状态(抛出意外数据) 添加堆栈,您可以指向错误链 您可以区分混乱(例如,在无效输入上返回空值)和需要开发人员注意的不安全用法(例如,在无效输入上引发异常) 您可以通过异常消息为错误添加详细信息,从而提供进一步有用的详细信息,以帮助调试(理论上) 另一方面,我发现很难调试“吞噬”异常的软件。例如 try { myFailingCode(); } catch { // no logs, no crashes, just a dirty state } 因此,问题是:拥有“无运行时异常”的强大的理论优势是什么? 例 https://guide.elm-lang.org/ 实际上没有运行时错误。没有空值。没有未定义不是函数。

1
何时在JavaScript中使用原型编程
我花了很多时间通过以下方式为项目开发简单的小部件: var project = project || {}; (function() { project.elements = { prop1: val1, prop2: val2 } project.method1 = function(val) { // Do this } project.method2 = function(val) { // Do that } project.init = function() { project.method1(project.elements.prop1) project.method2(project.elements.prop2) } })() project.init(); 但是我已经开始将格式更改为以下格式: function Project() { this.elements = { prop1: …

10
编写国际象棋引擎的最佳方法?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我是国际象棋爱好者和程序员。我最近决定开始使用我的国际象棋和编程知识来制作国际象棋引擎。所以这是我的问题: 编写国际象棋引擎时应采用哪种语言(我熟悉Java,C ++和Python)和方法? 一点指导将不胜感激。 编辑: 所以我决定用JavaScript制作它。我从github 下载此 Chess UI,现在一切就绪!我的第一步是为此写法律动议。那么有人能指出我正确的方向吗?(我是jQuery的新手,但是有很多编程经验)。 PS:我并不是想制造一个非常高效的引擎(我知道它的方法太难了),我只是想熟悉该过程并在此过程中学习一些新技术。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.