草庐IT

oci_new_collection

全部标签

Javascript 模块模式和 new 关键字

我了解了模块模式的基础知识以及它使用闭包来允许私有(private)成员,但我无法完全理解为什么下面的代码会执行它的操作:varCalculator=function(){varpriv=0;return{changePriv:function(){priv++;},printPriv:function(){console.log(priv);}}}varmyCalc=Calculator();myCalc.printPriv();myCalc.changePriv();myCalc.printPriv();varmyOtherCalc=Calculator();myCalc.prin

javascript - 弃用警告 : Collection#find: pass a function instead

我是node.js的新手,我目前正在使用discord.js制作Discord机器人。一旦使用了任何bot命令,控制台就会打印出DeprecationWarning。例如:(node:15656)DeprecationWarning:Collection#find:passafunctioninstead(node:15656)有时是另一个数字,几乎总是在变化。这就是我的代码的样子(只有一个命令,我有多个命令,但所有命令都出现此错误):constbotconfig=require("./botconfig.json")constDiscord=require("discord.js")

javascript - JavaScript 中的 "new Number(...)"和 "Number(...)"有什么区别?

在Javascript中,reliablewaystoconvertastringtoanumber之一是Number构造函数:varx=Number('09');//9,becauseitdefaultstodecimal灵感来自thisquestion,我开始想知道——上面和之间有什么区别:varx=newNumber('09');Number当然看起来更好,但它似乎对构造函数的使用有点不合适。在没有新的情况下使用它有任何副作用或有什么不同吗?如果没有区别,为什么不呢?new的目的是什么? 最佳答案 在第一种情况下,您使用的是N

javascript - Firebase "throw new Error(' 提供的服务帐户无效');"错误消息

我注意到Firebase最近发生了变化。我正在构建一个需要firebase的node.js应用程序,以前这就足够了:varFirebase=require("firebase");varfirebaseRef=newFirebase("https://blabla.firebaseio.com/");根据此链接:https://firebase.google.com/docs/web/setup#prerequisites您需要在新的firebase控制台中创建一个firebase项目,然后将firebase添加到您的网络应用程序中。这给你类似的东西://InitializeFireb

javascript - 有什么理由在 JavaScript 中使用 Object.create() 或 new 吗?

到目前为止,我一直在JavaScript中使用new关键字。我一直在阅读有关Object.create的内容,我想知道我是否应该改用它。我不太明白的是我经常需要运行构造代码,所以我根本看不到Object.create将如何工作,因为它不会触发任何函数运行。谁能告诉我,在什么情况下我应该使用Object.create而不是new? 最佳答案 到目前为止,如果要创建一个对象,只能使用字面量:varobj={};或Object构造函数。varobj=Object();但是这些方法都不允许您指定所创建对象的原型(prototype)。这就是

javascript - 主干JS : Load more items into a collection

在BackboneJS中,当我获取一个集合时,我应该获取整个集合还是其中的一小部分?例如,我在mongoDB中有新闻提要集合,可能有1000多个项目。当用户点击页面时,我只想向他们展示最新的10个项目,并带有“加载更多”选项。但是,如果他们通过URLhttp://site.com/#/feed/:itemID访问特定项目,我希望能够调出该项目的记录。1。我应该首先获取多少文档?2。我如何通过ID获取任何项目? 最佳答案 在对我的集合调用fetch时,我最终使用了{add:true}语句。这可以防止集合被获取的结果替换,而是将结果附加

javascript - 如何从 Javascript 中用 new 调用的构造函数返回 null?

我试图让构造函数在出现问题时中止对象构造,例如它无法获得Canvas。但是当我使用new时,我看到klass()总是返回this而不管任何返回null或任何其他值,我可以解决这个问题以返回无效?现在我想到,一个解决方案可能是在klass()中创建新实例并返回该实例或null,而不是使用new,有没有更好的解决方案?functionklass(canvas_id){varcanvas=document.getElementById(canvas_id);if(!(canvas&&canvas.getContext)){returnnull;}}varinstance=newklass('

javascript - 主干 - 为什么 collection.reset 不触发模型事件?

我很想知道为什么重置Backbone集合不会触发模型事件。但是,当模型从集合中物理移除时触发模型事件似乎是合乎逻辑的。这是故意的还是我遗漏了什么?如果backbone不做这种事情,那么委托(delegate)这样的事件是一个很好的做法。为什么backbone在其集合重置时不触发模型事件?varTicketModel=Backbone.Model.extend({defaults:{name:'crafty',email:'dwq@dwqcqw.com'},initialize:function(){this.on("all",function(event){console.log(ev

javascript - 评估 JSON 字符串 - eval() 与 new Function()

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:jQueryuses(newFunction(“return”+data))();insteadofeval(data);toparseJSON,why?给定一个字符串表示一个有效的JSON字符串,这两种解析方法之间是否存在差异:varstr,obj;str='{"prop":"value"}';//method1:obj=eval('('+str+')');//method2:obj=(newFunction('return('+str+');'))();我注意到jQuery使用第二种方法来解析JSON字符

javascript - ACE 编辑器 : create a new editor dynamically

我有一个布局选项卡,我可以在其中添加和删除选项卡,当我创建一个新选项卡时,我想向它添加一个新的ACE编辑器(http://ace.ajax.org/)(i'm使用jqueryui选项卡)但是这样不起作用:$(function(){var$tab_title_input=$("#tab_title"),$tab_content_input=$("#tab_content");vartab_counter=3;//tabsinitwithacustomtabtemplateandan"add"callbackfillinginthecontentvar$tabs=$("#tabs").ta