草庐IT

b_NEW_LINE_WRITTEN

全部标签

javascript - 为什么这样 "this.foo = new (function () {..})();"与 "this.foo = function (){...};"

两者在函数定义和赋值上有什么区别吗?this.foo=new(function(){..})();对比this.foo=function(){...}; 最佳答案 在第一个示例中,它正在创建一个函数并执行它,将结果分配给this.foo。在第二个示例中,它正在创建函数并将函数本身分配给this.foo。 关于javascript-为什么这样"this.foo=new(function(){..})();"与"this.foo=function(){...};",我们在StackOverf

javascript - "new"在 JavaScript 中仍然不推荐吗?

所以我看到很多JavaScript代码在创建构造函数时使用“new”。在阅读了部分JavaScript的GoodParts之后,似乎使用"new"并不是猫的睡衣。那是4年前的事了……现在还不推荐吗?目前的标准是什么? 最佳答案 new从什么时候开始不推荐了?D.Crockford有一个有效的观点和强烈的意见,但new是语言的一部分,并且在许多项目中得到了广泛使用。new是原型(prototype)继承模型的一部分,必须用于通过构造函数创建新实例。Crockford指出了一种纯函数式方法,它适本地使用this上下文并returnthi

javascript - 在构造函数中包装 new 是好是坏?

我看了JohnResig的BestPracticesinJavaScriptLibraryDesign推介会;一张幻灯片建议“调整”对象构造函数,使其实例化自身。functionjQuery(str,con){if(window===this){returnnewjQuery(str,con);}//...}这样,newjQuery("#foo")就变成了jQuery("#foo")。我认为这很有趣,但我没有在自己的代码中编写过这样的构造函数。不久之后,我在这里阅读了一篇关于SO的帖子。(抱歉,我不记得是哪一个或者我会提供链接。如果我能再次找到它,我会更新问题。)其中一条评论说隐藏ne

javascript - 不理解在 Javascript 中使用 new 关键字

下面的代码片段来自O'Reilly的“JavascriptWebApplications”。在其中,作者解释说,使用new关键字通常会返回一个this上下文,除非您特别返回其他内容——在下面,他正在返回一个函数,该函数将设置一个新类(class)”,用他的话来说(第7页):varClass=function(){varklass=function(){this.init.apply(this,arguments);};klass.prototype.init=function(){};returnklass;};varPerson=newClass;Person.prototype.i

javascript - 不要用 new Constructor 创建对象

是否可以选择不在构造函数中创建具有特定条件的对象,例如functionMonster(name,hp){if(hp 最佳答案 我认为你应该做的是抛出一个异常。functionMonster(name,hp){if(hp 关于javascript-不要用newConstructor创建对象,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15355908/

javascript - 当 var trees = new Array ("redwood", "bay", "cedar"时 0 如何成为树的属性)

这个问题在这里已经有了答案:Accessnumericpropertiesofanobjectusingdotnotation(2个答案)关闭11个月前。我在mozilla文档中看到了这个例子,但我不明白为什么。如果0是树的属性,我原以为trees.0会返回redwood但这是一个错误的陈述。a[0]是一种访问数组0属性的方法吗?在这种情况下,a["length"]也应该有效(逻辑上)。谁能说清楚?链接:developer.mozilla.orgvartrees=newArray("redwood","bay","cedar","oak","maple");0intrees;//ret

javascript - Chrome 扩展 : open new tab from a form in popup

我在chrome扩展弹出窗口中有一个简单的javascript表单。单击扩展程序图标时,用户填写表单并单击“开始!”,这将打开一个新选项卡-这个新选项卡的URL将根据表单中的值确定。目前弹出窗口显示正常,表单值填充正常。如何在用户单击按钮时打开选项卡?(我对javascript很陌生,文档把我搞糊涂了:|)list.json:{"name":"MyHelper","version":"1.0","description":"MyHelper","background_page":"background.html","browser_action":{"default_icon":"ic

javascript - 需要模式 : create new object that returns an executeable function and inherits from a prototype

场景1-一切正常:varAwesomeObject=function(){varself=this;self.whatstuff='reallyawesome';}AwesomeObject.prototype.doStuff=function(){varself=this;console.log('idid'+self.whatstuff+'stuff');returnself;}varawesome=newAwesomeObject();//returnsanewAwesomeObjectawesome.doStuff();//prints'ididreallyawesomestu

C++内存管理(new和delete)

目录1.new/delete操作内置类型2.new和delete操作自定义类型3.operatornew与operatordelete函数 4.new和delete的实现原理1.内置类型2.自定义类型new的原理delete的原理newT[N]的原理delete[]的原理5.定位new表达式(placement-new)6.malloc/free和new/delete的区别7.内存泄漏内存泄漏分类8.如何检测内存泄漏9.如何避免内存泄漏1.new/delete操作内置类型 //动态申请一个int类型的空间 int*p1=newint; int*p2=newint[1]; //动态申请一个int

javascript - node.js 返回 GMT 时间而不是 "new Date()"的本地时间。那是一个错误吗?

如果不是错误,如何告诉Node我的时区?如果有错误,是否已报告? 最佳答案 如果是bug,我的Node版本不存在。的确,在我的版本中,Node.jsREPL更喜欢在GMT中宣布:>newDate()Sat,31Mar201221:51:47GMT但它实际上是时区感知的,这不是REPL在对其进行字符串化时显示的内容:>newDate().getTimezoneOffset()-120>""+newDate()'SatMar31201223:51:56GMT+0200(CEST)'(我在Ubuntu上运行Node.jsv0.6.1。)