jjzjj

ecmascript-5

全部标签

javascript - 是否使用 [array].filter 或 _.filter

我的项目包含underscorejs作为依赖项。在内部我需要做很多复杂的数组操作,基本上包括我映射、过滤或减少数组。我们在Array.prototype上有原生的map、filter、reduce方法。但是在underscorejs中也可以使用相同的方法。就我个人而言,使用原生方法对我来说更有意义,因为它比像_(array).filter(function(){})这样的包装对象感觉更自然_.filter(array,function(){}).请提出建议。 最佳答案 这确实是一个基于意见的问题。Lodash将为您提供更好的浏览器支

javascript - ECMAScript 中的 "positive"和 "negative"是什么意思? +0 和 -0

我正在阅读ECMAScript5.1spec.它说:Theslicemethodtakestwoarguments,startandend[...].Ifstartisnegative,itistreatedaslength+startwherelengthisthelengthofthearray.Ifendisnegative,itistreatedaslength+endwherelengthisthelengthofthearray.“负面”是什么意思?这是有道理的,就像在数学中一样,如果num>0,然后num这是积极的如果num,然后num是负面的。但是+0呢?和-0?在数学

javascript - ES5 "strict"和 arguments.callee

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whywasthearguments.callee.callerpropertydeprecatedinJavaScript?在ES5严格模式(即“usestrict”)中,引用当前函数的arguments.callee变量不再可用。对于递归函数,使用函数自己的名称显然是明智的。然而,有时我可能想使用arguments.callee的属性(即.length、.prototype)而不必使用名称当前功能。谁能解释通过删除它(据称)解决了哪些明显的问题?

javascript - 旧版浏览器的 ECMAScript 5 兼容性脚本

是否已经有一个开源项目可以为本身没有实现它的浏览器实现ECMAScript5特性?类似IE7.js的东西实现InternetExplorer中缺少的标准内容的项目。我想使用新的Function.bind()和String.trim()以及JSON.parse()函数,但它们目前仅在最新的浏览器(如最新的Chromium)中可用。我想简单地包含一个像“ecma5.js”这样的脚本,如果浏览器中缺少它,它会实现所有这些东西。那么是否已经有这样的项目可用?如果没有,那么我必须自己做。 最佳答案 es5-shim应该给你你想要的(或者,尽可

javascript - 如何在 EcmaScript 5 中添加静态成员

我想在EcmaScript5JavaScript中的类中添加一个静态函数。我的类定义如下所示:varAccount={};Object.defineProperty(Account,'id',{value:null});我会像这样创建一个新实例:vartheAccount=Object.create(Account);theAccount.id=123456;现在我想向Account类添加一个静态函数。如果我使用构造函数和prototype属性创建了Account类,如下所示:varAccount=function(){this.id=null;};...我可以这样做:Account.

javascript - 是否可以确定使用 Object.create 创建的对象是否继承自 JavaScript 中的 Array?

识别哪些对象是哪些iscomplicated在JavaScript中,找出哪些对象是数组有一些hackysolution.幸运的是,它在以下两种情况下都能正常工作:Object.prototype.toString.call([]);//[objectArray]Object.prototype.toString.call(newArray());//[objectArray]很好,看不到[objectObject]!可悲的是,这种方法仍然失败了:vararr=Object.create(Array.prototype);Object.prototype.toString.call(a

javascript - John Resig 的简单类实例化和 "use strict"

引用:http://ejohn.org/blog/simple-class-instantiation///makeClass-ByJohnResig(MITLicensed)functionmakeClass(){returnfunction(args){if(thisinstanceofarguments.callee){if(typeofthis.init=="function")this.init.apply(this,args.callee?args:arguments);}elsereturnnewarguments.callee(arguments);};}我想知道是否有

javascript - 在 html 文档中调用 JS 有多少种不同的方法?

到目前为止,我知道在网页中定义和调用JavaScript的4种不同方式1.内联JS...2.外部JS3.事件处理器JS:4.JavaScript:URLjs有没有其他方法可以在网页中插入JS?是否在任何标准规范中定义了它(有多少种方式)?上述4种方式在JavaScript的执行上下文上有什么不同吗? 最佳答案 实际上有很多方法可以在HTML中执行Javascript,所有方法都因浏览器和平台而异。其中很多(但不是全部)都列在这个infamousXSScheatsheet中.在不那么晦涩的那些中,有这些:BODY{-moz-bindi

javascript - Getter 中的异步函数 w/Return 回调

我想定义一个只读对象属性,它异步获取一个值,然后使用新的EcmaScript5getter返回它。但是,该属性始终返回undefined,即使下面示例代码中的magicValue绝对不会是未定义的。此外,当我只是return'xxx';时,打印的值仍然是undefined。它仅在我在回调函数外return时有效。无论是否调用myAsyncFunction的回调,似乎都立即执行了return。我不确定这是V8中的错误还是我在滥用JavaScript的getter。我可以让它工作吗?我想,既然我现在可以使用getters和setters,我将使用getters/setters来读写属性和常

javascript - 根据日期数组检查日期

我正在尝试编写一个函数,根据日期是否存在于数组中来返回TRUE或FALSE值。目前我有这个:functionisInArray(value,array){vara=array.indexOf(value)>-1;if(a==false){returnfalse;//DATEDOESNOTEXIST}else{returntrue;//DATEEXISTSINARRAY}}现在通常我会使用for循环,但是我使用这个while循环生成了一个介于开始日期和结束日期之间的日期列表:while(day>0){vartDate=newDate(sDate.addDays(dayCounter));