草庐IT

es-head插件

全部标签

javascript - 仅当 ES5 strict 中不存在时,如何定义全局变量?

我正在ES5中编写ESHarmonySymbol/Name的实现。我将使用名称Symbol,但我希望浏览器使用它已经存在的任何预先存在的Symbol(在未来的浏览器中).我希望我的代码严格兼容ES5并可移植到其他项目。这是在ES3/ES5非严格中做我想做的事情的一种(很多)方法:(function(){//IfSymbolalreadyexists,we'redone.if(typeofSymbol!='undefined')return;//Thisbecomesglobalbecauseitwasn'tdeclaredwithvarSymbol=function(){//...};

javascript - Ember.js:如何在新项目插入 ArrayController 后应用 jquery 插件

所以我有一个以非常标准的方式呈现的ArrayController:{{#eachcontroller}}{{user.name}}:{{message}}{{unbounddatetimeFormatted}}{{/each}}我想要的是在插入新项目后应用jQuery.timeAgo插件,但为此我应该以某种方式获取对插入元素的引用。我尝试了didInsertElement方法,但它仅在呈现整个View时触发,我需要将此插件应用于插入到DOM中的每个新项目。所以,我的问题真的可以这样表述——有没有什么方法可以获取对新插入的DOM元素的引用,或者在新项目添加到ArrayController

javascript - 在 ES6 中,第一次调用迭代器的 `next` 方法时参数会发生什么变化?

如果你有一个生成器,比如,function*f(){//Beforestuff.leta=yield1;letb=yield2;return[a,b];}然后运行varg=f();//thisquestionisoverthisvalue.g.next(123);//returns:{value:1,done:false}g.next(456);//returns:{value:2,done:false}g.next();//returns:{value:[456,undefined],done:true}第一次调用.next()设置a为123,第二次调用设置b到456,但是在最后一次

javascript - 我们可以用 ES6 Generator 做哪些不能用 for 循环做的事情?

我了解了ES6的特性,Generators引起了我的注意。突然想到的一件事是链接Promise对象,这是我无法用循环实现的。我们还能做哪些以前做不到的其他机制?我知道这是一个宽泛的问题,但目前我仍然想不出除了Promises之外的任何东西。 最佳答案 通过使用yield,生成器可以在函数控制流中的任何点暂停,从而保存当前的执行状态(作用域和堆栈)。没有生成器,这就更复杂了:你需要明确地跟踪状态分支和(尤其是)循环控制结构需要以函数式方式表示,即递归编写。生成器通常可用于遍历数据结构,创建一个简单的类似流的迭代器,按顺序生成所有元素。

javascript - 如何从另一个调用 ES6 类中的一个方法?

如果我有这样一个javascriptES6类:import$from"jquery";exportclasstest{constructor(){this.es6='yay';}writeLine(text){console.log(text);}getTestData(){writeLine('writeLinecall');//我从另一个文件导入类并调用getTestDataSystem.import('app/classDefinition').then(function(classDefinitionModul){vartest=newclassDefinitionModul.

javascript - 如何从确认对话框插件返回 bool 值?

在JavaScript中,他们有确认对话框,在单击是或否按钮时返回true或false。if(confirm('Yourquestion')){//dothingsifOK}但它是不可定制的,可以通过点击弹出窗口中的复选框来停止。所以我想用JQuery确认或对话插件。但是我发现的插件不会返回true或false。它带有按钮功能,我无法从按钮功能返回true或false。有没有办法在jQueryconfirm中返回类似Boolean的变量? 最佳答案 $('.dialogbutton').click(function(){if($(t

javascript - 如果缺少输入文件,是否有办法导致 Grunt 插件失败?

我一直在使用Gruntcssminplugin.我的Gruntfile中有一个block,大致如下所示:cssmin:{target:{files:{'/mytarget.css':['bower_components/normalize.css/*.css','bower_components/html5-boilerplate/css/main.css','/css/*.css']}}}有一段时间这工作正常;但是我将它移到了另一台机器上并且没有正确设置我的Bower组件-html5-boilerplate/css/main.css文件丢失了-但任务仍然成功完成。事实上,我可以将完全

Javascript ES6 生成器异步

我需要异步运行生成器(我需要在控制台1、2、3、4、5中得到结果,因为现在我有4、1、2、3、5)有人可以帮助我吗?我需要运行任务并等待上一个任务完成后再运行下一个任务。我需要使用(如果可能:仅)生成器(或生成器+promise?)这是我的代码/*jshintesnext:true*/functionshow(msg){var_msg=msg;setTimeout(function(){console.log(_msg);},2000);}functionshow2(msg){console.log(msg);}varstack=[];//addsomefunctiontostacks

javascript - ES6 类中的动态方法调用

如何从ES6中的类动态调用方法?在ES5及更低版本中,我可以使用以下代码执行此操作。JSFiddleexamplevarApp=function(){varthat=this;this.init=function(){varelements=document.getElementsByClassName('call-method');for(vari=0;i当我尝试在ES6中做同样的事情时,我得到一个错误UncaughtTypeError:notafunction。这在ES6中是可能的还是我在这里做错了什么?JSFiddleexample'usestrict';classApp{con

JavaScript ES6 : Grouping methods in es6 classes?

我们中的一些人正在尝试创建一个JavaScript库以在RESTfulAPI上快速运行JSON查询。我想做的是根据它们的目的对一组方法进行分组。例如;通过API,我能够获取用户属性。我不想将所有这些方法都放在主对象下,而是将它们分组在API类对象中。即转换这个:myAPI.getUserById()为此:myAPI.User.getByID()myAPI.User.getByName()我们将使用下面的代码作为一个简单示例。我如何将我的用户方法嵌套在myAPI类的用户对象中??classmyAPI{constructor(url){this.url=url;//Codetoconnec