草庐IT

new_method

全部标签

javascript - 为什么 Node Object.create(too) 比 new Foo() 慢很多?

我在JS中使用回溯编写了一个简单的数独求解器。为了成为“纯粹的功能”,我所有的9x9拼图数组都是不可变的,因此每当插入一个新数字时都会创建一个新数组。版本1使用newSudokuPuzzle在第一个版本中,我使用newPuzzle(puz​​zle)方法来克隆对象:functionSudokuPuzzle(obj){if(objinstanceofSudokuPuzzle){this.grid=obj.grid.slice(0);//copyarray}//...}然后每当我更新数组时,我都会执行以下操作:SudokuPuzzle.prototype.update=function(r

javascript - 未捕获的类型错误 : Cannot call method 'on' of undefined - Backbone. js

我的应用程序出现错误,不知道为什么。UncaughtTypeError:Cannotcallmethod'on'ofundefined它发生在我的CollectionView上,遵循代码:App.WorkoutsView=Backbone.View.extend({initialize:function(){this.collection.on('add',this.addOne,this);this.collection.on('reset',this.addAll,this);},render:function(){this.addAll();returnthis;},addAll

javascript - new Array() 与 Object.create(Array.prototype)

天真的困惑:vararr1=newArray();vararr2=Object.create(Array.prototype);//Insertingelementsin"botharrays"arr1[0]=0;arr1[9]=9;arr2[0]=0;arr2[9]=9;arr1.push(10);arr2.push(10);console.log(arr1.length);//prints11console.log(arr2.length);//prints1这两个对象都继承了Array.prototype,但它们使用[]运算符的行为不同。为什么? 最佳

javascript - 为什么 1 * new Date() 而不是 GA 片段中的 new Date().getTime()?

我正在插入GAsnippet在我的TypeScript代码中看到这个:i[r].l=1*newDate();TypeScript编译器提示newDate()必须是数字或任何,但不是日期。我把这个变成了这个:i[r]['l']=newDate().getTime();这导致相同的结果。如果优先考虑的是减小尺寸,那么我发现这更紧凑,结果相同:i[r]['l']=+newDate();我不知道为什么使用带有隐式转换的智能变体。是否有什么我不明白的隐藏内容,或者只是人们想要看起来更聪明?是为了缩短长度吗? 最佳答案 Isthereanyth

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 - 同步 Meteor.methods 函数中的 MeteorJS 异步代码

如何让客户端method.call等待异步函数完成?目前它到达函数的末尾并返回未定义。客户端.jsMeteor.call('openSession',sid,function(err,res){//Returnundefinedundefinedconsole.log(err,res);});服务器.jsMeteor.methods({openSession:function(session_id){util.post('OpenSession',{session:session_id,reset:false},function(err,res){//returnvalueherewi

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

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

javascript - 谷歌地图 API v3 : computeDistanceBetween method and distance in metric form

我想以公制形式计算位置之间的直接距离。(即:从A到B,以公里为单位)。没看懂computeDistanceBetween方法以单位返回。谢谢 最佳答案 以米为单位。要转换为公里除以10241000,obviously.google.maps.geometry.spherical.computeDistanceBetween(Moscow,Leningrad);//679601m对了,这个库方法的底层代码是基于Haversineformula的. 关于javascript-谷歌地图APIv

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)。这就是