Questions tagged «ecmascript»

2
到底是什么JavaScript?
这一切始于我正在寻找一种方法来测试我的网页的JavaScript一致性,例如W3C HTML Validator。我还没有找到。所以让我知道你是否知道任何... 我在JavaScript的官方页面中找到了ECMA Script。这些人已经将脚本语言标准化(我不再喜欢用JavaScript!),并将其称为ECMA-262(维基百科)。他们的最新作品是5.1版 JavaScript由Mozilla Corporation开发,其最后一个稳定版本是1.8.5(请参阅此),它基于ECMA的5.1版。 链接的Wikipedia页面提到了方言。Mozilla的JavaScript 1.8.5与JScript 9(IE)和JavaScript(Chrome的V8 [ Wiki ])以及许多其他语言一起被列为方言。我是否知道JavaScript 1.8.5是ECMA-262的派生产品,而SpiderMonkey [ Wiki ]是运行它的引擎?Chrome拥有自己的方言,而运行它的程序是V8引擎? 基于所有基于ECMA-262的方言,我再也无法理解“什么是JavaScript ”?有没有真正的跨浏览器脚本语言?各种实现者是否齐心协力就方言交叉兼容性达成共识?这是ECMA的努力吗?


1
发生器功能在功能编程中有效吗?
问题是: 生成器是否破坏了功能编程范式?为什么或者为什么不? 如果可以,可以在函数式编程中使用生成器吗?如何使用? 考虑以下: function * downCounter(maxValue) { yield maxValue; yield * downCounter(maxValue > 0 ? maxValue - 1 : 0); } let counter = downCounter(26); counter.next().value; // 26 counter.next().value; // 25 // ...etc 该downCounter方法显示为无状态。同样,downCounter使用相同的输入进行调用将始终导致相同的输出。但是,同时,调用next()不会产生一致的结果。 我不确定生成器是否会破坏函数式编程范式,因为在此示例中counter是生成器对象,因此调用next()将产生与使用完全相同的另一个生成器对象产生的结果相同的结果maxValue。 同样,调用someCollection[3]数组将始终返回第四个元素。同样,next()在生成器对象上调用四次也会始终返回第四个元素。 为了获得更多的上下文,在编写kata编程时提出了这些问题。回答问题的人提出了一个问题,即生成器是否可以在函数式编程中使用以及它们是否保持状态。

5
为什么不将JavaScript用于经典应用程序开发(编译软件)?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 在使用JavaScript进行Web开发的这些年中,我得出的结论是,它是一种不可思议的强大语言,您可以用它来做令人惊奇的事情。 它提供了丰富的功能,例如: 动态打字 一流的功能 嵌套函数 关闭 作为方法起作用 作为对象构造函数 基于原型 基于对象(几乎所有内容都是对象) 正则表达式 数组和对象文字 在我看来,使用这种语言几乎可以完成所有事情,您还可以模拟OO编程,因为它提供了极大的自由度并提供了许多不同的编码样式。 通过更多面向软件的自定义功能(I / O,文件系统,输入设备等),我认为使用它来开发应用程序将非常有用。 尽管据我所知,它仅在Web开发或现有软件中仅用作脚本语言。 直到最近,也许要感谢V8引擎,它已被更多地用于其他类型的任务(例如,请参见node.js)。 为什么到现在为止仅将其降级为仅用于Web开发?是什么使它远离软件开发?

3
在仅用于现代Webkit的Web应用程序中使用jQuery是否有意义?
我最近正在为Android(2.3+)和iOS(4+)开发一些移动Web应用程序。他们的浏览器支持大部分ECMAScript5,该功能非常强大,我想尽可能使用语言功能,仅在需要时才使用jQuery。 事实证明,我使用jQuery的唯一目的是为其提供一个较短的替代方法document.querySelectorAll。也可以摆脱它。 如果只需要支持现代WebKit浏览器,那么摆脱jQuery(和其他通用库)是否是一个好主意?毕竟,它们是一个间接层。 (到目前为止,这些应用程序不必进行AJAX调用,我想这将变得很丑陋。但是为此保留jQuery是否值得?)
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.