草庐IT

subscription_new_projects

全部标签

javascript - 巴别塔 v6 : How/Can I write a plugin that adds a new syntax (ie a new operator)?

Note:IfoundthisquestiononBabelissuetracker(https://phabricator.babeljs.io/T2653)anditwasrejected,butAFAIKitsauthordidnotaskedithere.我检查了像packages/babel-plugin-syntax-do-expressions这样的Babel插件似乎这些ES6+新语法/运算符实际上根本没有在插件中定义,而是implementedinBabylon并且只是toggledon通过这些插件。在newestblogpost中留下声明“开发人员已经构建了从调试工具

javascript - `new` 运算符如何能够覆盖硬绑定(bind),在 Function.prototype.bind(..)

这是一个纯粹的理论问题。我从“你不懂js”中学习javascript,我一直卡在JS中bind函数的实现上。考虑以下代码:functionfoo(something){this.a=something;}varobj1={};varbar=foo.bind(obj1);bar(2);console.log(obj1.a);//2varbaz=newbar(3);console.log(obj1.a);//2console.log(baz.a);//3在上面的代码片段中,我们将foo()绑定(bind)到obj1,所以foo()中的this>属于obj1,这就是当我们调用bar(2)时o

javascript - Angular 2 : Type 'Subscription' is not assignable to type

我创建了一个非常小的应用程序来从json文件中获取国家并将其绑定(bind)到下拉列表。countries.jsonexportclassCountry{id:number;name:string;}factory.service.tsimport{Injectable}from'@angular/core';import{Http,Response}from'@angular/http';import{Observable}from'rxjs/Observable';import{Country}from'./shared/country';@Injectable()exportcl

javascript - "new <function>"后面的括号可选吗?

这个问题在这里已经有了答案:Canweomitparentheseswhencreatinganobjectusingthe"new"operator?(6个答案)关闭6年前。我在Chrome控制台中运行了以下一对代码片段,结果相同:test=newfunction(){vara=1;varb=2;varc=3;this.debugBase=function(){console.log(''+a+b+c)};};testdebugBase:function(){console.log(''+a+b+c)}__proto__:Object对比:test2=new(function(){v

javascript - 使用 new 创建对象时是否需要从构造函数返回

如果我有这样的功能:functionApple(){this.color="green";returnthis;}像这样创建对象时:varmy_obj=newApple();returnthis;行是否必要和/或通过语言引用是否有效? 最佳答案 不,返回this不是必需的,但它是有效的。如果返回值是一个对象,new将返回该对象而不是新创建的对象。参见ECMAScript5的第11.2.2和13.2.2点:new运算符调用构造函数(通常是函数)上的内部[[Construct]]方法:11.2.2ThenewOperatorThepro

javascript - 使用 javascript 小书签在网页中查找 'old' 的所有实例并将每个实例替换为 'new'

我想做的是用JS书签或greasemonkey脚本中的"new"替换网页中所有“旧”实例。我怎样才能做到这一点?我想jQuery或其他框架没问题,因为有黑客可以将它们包含在书签和greasemonkey脚本中。 最佳答案 一个防破坏的函数。这意味着这不会触及任何标签或属性,只会触及文本。functionhtmlreplace(a,b,element){if(!element)element=document.body;varnodes=element.childNodes;for(varn=0;n书签版本:javascript:fu

javascript - 在 .tern_project 文件中使用 TernJS 找出用于 Vim 自动完成的 JavaScript 库

我喜欢vim并希望继续使用它进行Web开发,尽管我正在努力使用自动完成所需的正确库来设置我的.tern_project文件。我是JavaScript的新手,但到目前为止我所拥有的东西让它更容易学习。我能找到的例子不多,我试着阅读了documentation但我不知道它有什么帮助。到目前为止,我的.tern_project文件如下所示:{"libs":["browser","ecma6"],"plugins":{"requirejs":{"baseURL":"./","paths":{}}}}我真的不知道插件有什么作用,但我暂时把它们留在里面,在库中,ecma6确实帮助我处理了所有数组方

javascript - 如果 Crockford 建议我们将它用于原型(prototype)继承,为什么他说不要使用 new 关键字?

我看过一段视频,其中Crockford告诉我们不要使用new关键字。如果我没记错的话,他说要改用Object.create。为什么他告诉我们不要使用new,如果他在他写的这篇文章中使用它来实现原型(prototype)继承:http://javascript.crockford.com/prototypal.html我希望他使用Object.create而不是new,如下所示:functionobject(o){returnObject.create((function(){}).prototype=o);}那为什么他还在用new呢? 最佳答案

javascript - `new Error()` 什么时候比 `Error()` 好?

ES5语言规范clearlystatesError(foo)和newError(foo)做同样的事情。但我注意到在野外,较长的newError(foo)形式更为常见。这有什么原因吗?是否存在使用newError(foo)比使用Error(foo)更可取的情况? 最佳答案 Istheresomereasonforthis?这只是总是用new调用构造函数的习惯。一致性规则!即使它们在没有new的情况下工作也是一种很好的做法,并且被多个样式指南和相关工具推荐。顺便说一句,因为ES6Errorissubclassible,及其子类将需要ne

javascript - 令人困惑的 JavaScript 语句 : "var x = new this();"

我以为我理解了JavaScript原型(prototype)对象的概念,以及[[proto]],直到我看到一些关于类继承的帖子。首先,“JavaScriptOOP-聪明的方式”在http://amix.dk/blog/viewEntry/19038查看实现部分:varparent=newthis('no_init');还有JohnResig的精彩博客上的“简单JavaScript继承”。varprototype=newthis();newthis();到底是什么意思?这个声明对我来说毫无意义,因为我的理解是this指向一个对象而不是构造函数。我还尝试在Firebug中测试语句来解决这个