jjzjj

ecmascript-5

全部标签

javascript - 主要浏览器中是否仍然存在 ECMAScript 3 实现差异?

有人可以指出当今浏览器中ECMAScript第三版的实现差异吗?(Chrome、Safari、IE8、FF)我们在使用ECMAScript3标准(而不是FF和IE对JScript和JavaScript的扩展)时安全吗? 最佳答案 嗯,当然有实现错误,我不得不处理的最严重的是JScript,标准的Microsoft实现,例如:FunctionExpressions的标识符应该只能在函数本身的内部范围内访问:(functionfoo(){alert(typeoffoo);//"function"})();alert(typeoffoo)

javascript - 是否可以从 JavaScript 中的 ECMAScript 6 类继承旧式类?

在Node.js4.2.1上运行以下代码时:'usestrict';varutil=require('util');classMyClass{constructor(name){this.name=name;}}functionMyDerived(){MyClass.call(this,'MyDerived');}util.inherits(MyDerived,MyClass);vard=newMyDerived();我收到以下错误:constructor(name){^TypeError:Classconstructorscannotbeinvokedwithout'new'我想知道

javascript - 遍历不可枚举的属性

我已经使用Object.defineProperty和enumerable:false在配置对象上定义了一些属性。然而,在我的模块中有一个地方我想迭代不可枚举的属性以及可枚举的属性。是否可以在不在其他地方保留属性名称列表的情况下执行此操作? 最佳答案 我想你可以使用getOwnPropertyNames它返回可枚举或不可枚举的属性。来自文档:Returnsanarrayofallproperties(enumerableornot)founddirectlyuponagivenobject.

javascript - 严格模式 ("use strict";) 是如何被函数继承的?

这是我的代码,似乎表明答案是肯定的-http://jsfiddle.net/4nKqu/varFoo=function(){'usestrict'return{foo:function(){a=10alert('a='+a)}}}()try{Foo.foo()}catch(e){alert(e)}能否请您引用标准中的声明,阐明'usestrict'自动应用于我们已应用'usestrict'的函数中定义的所有闭包和函数? 最佳答案 规范的相关部分:http://www.ecma-international.org/ecma-262/5

javascript - Intellij Idea Ecmascript Harmony 模块语法

我正在为一些ESHarmony应用程序使用IntellijIdea。用modulessyntax我希望我的IDE不将其突出显示为错误:import$from"jquery";我在项目设置里开启了对ESHarmony的支持,但是没有用。谢谢! 最佳答案 如果这里有人仍然遇到ECMAScript6的问题,您必须在IntelliJ中启用它。激活ecmascript后,将其设置为JavaScript语言版本: 关于javascript-IntellijIdeaEcmascriptHarmony模

javascript "use strict"和尼克的查找全局函数

所以我看到了一个函数,坦率地说,它的简单性非常漂亮,因为它允许您在匿名函数中找到全局对象(这取决于当时的环境,可能不是window);但是,当您抛出javascripts的“使用严格”时;由于对关键字“this”的评估发生变化,模式崩溃了。有几种方法可以做到这一点?(function(){varwin=function(){return(function(){returnthis;}());};//winnowpointstotheglobalobjectnomatterwhereitiscalled.}());现在,如果在“usestrict”的上下文中调用这些,我们将失去所描述的功

javascript - 确认 ES5 支持

在Javascript(CoffeeScript)前端应用程序中,最好和最简单的方法是什么来通知用户他们的浏览器不受支持,而不是让它在用户随机点击不支持的ES5功能时对其进行故障转移?比如说,我正在为现代浏览器写一些东西,我想避免旧浏览器在我的代码使用ES5引入的功能的任何地方遇到的无数故障......通过阻止非-兼容ES5的浏览器?ES5引入了一些语法特性,其中一些我相信CoffeeScript依赖,如果浏览器不支持ES5,我希望我的代码以某种方式避免开始执行,而不是调整垫片、使用Modernizr或检查每个CoffeeScript语法子集来计算它是如何向后支持的。对于世界其他地区,

javascript - JavaScript 版本如何与 ECMAScript 版本相关联?

例如,[].map是“在JavaScript1.6中实现的”。那是ES5方法吗?1.6与ECMAScript有何关联?版本? 最佳答案 Mozilla使用的版本号与ECMAScript标准的版本号之间并没有真正严格的对应关系。有一个tableonWikipedia这可能正是您正在寻找的——您会看到JavaScript1.6对应于ECMAScript3,然后是一些额外的扩展。[].map专门在ECMAScript5中进行了标准化,但据我了解,该功能甚至在ECMAScript5标准发布之前就由Firefox首次引入。(包含JavaScr

javascript - Typescript 中的工厂函数使用和不使用 new 关键字声明文件

以下代码将在ES5中创建一个工厂函数:functionMyClass(val){if(!(thisinstanceofMyClass)){returnnewMyClass(val);}this.val=val;}可以使用或不使用new关键字调用此函数:vara=newMyClass(5);varb=MyClass(5);这在Typescript中工作正常,但是我不知道如何使用merging创建声明文件描述了这两种行为。有办法做到这一点吗? 最佳答案 interfaceMyClass{val:{};}interfaceMyClassC

javascript - Ecma-262 (EcmaScript 5) 将如何帮助您?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。ImprovethisquestionEcmaScript第五版,或Ecma-262,已公布并包含对语言的一些更改。新版本中的哪些功能将帮助您编写更好的代码?