草庐IT

Math对象

全部标签

javascript - 尝试使用面向对象的 javascript 进行建模

我对整个面向对象的范式还很陌生。我正在尝试为某个游戏中的Angular色建模,你有不同的级别、类别和很多设备选择等等。我最终的目标是创建某种“梳妆台”,玩家可以在其中打开网站,试穿一些装备,看看它如何影响他们的参数,花费多少等等。我已经对主要部分进行了编程(here),但这是我使用html、css和javascript进行的第一件工作,目前只是一团糟。这次我想好好开始:)假设我有一个我们将要模拟的Angular色的对象:varLord=function(){this.Level=1;this.Gender='Male';this.Faction='Knight';this.Attack

javascript - 为什么 Draggable 对象有慢速占位符?

我真的没有问题,但是,我注意到有时Draggable对象的占位符很慢。我做了这个测试:http://jsfiddle.net/X3Vmc/$(function(){$("#myproductsli").draggable({/*appendTo:"body",*/helper:"clone",connectToSortable:"#mylist",tolerance:"pointer"});$("#mylist").sortable({placeholder:"sortable-placeholder",over:function(){console.log("over");},out

javascript - Canvas :矩形——对齐网格/对齐对象

我设法通过以下方式操作Fabric.js以向网格功能添加捕捉和缩放:vargrid=100;//SnaptoGridcanvas.on('object:moving',function(options){options.target.set({left:Math.round(options.target.left/grid)*grid,top:Math.round(options.target.top/grid)*grid});});canvas.on('object:scaling',function(options){options.target.set({left:Math.ro

javascript - 我可以通过在对象中定位属性来提高查找速度吗?

我已经看到很多关于访问对象属性的最快方法的问题(比如使用.vs[]),但似乎无法找到是否更快地检索对象中声明的比其他对象属性更高的对象属性字面语法。我正在处理一个最多可包含40,000个属性的对象,每个属性都是一个长度为2的Array。我将其用作按值查找。我知道可能有5%的属性是我最需要检索的属性。为了提高性能(减少查找时间),是否值得执行以下任一操作?在对象文字语法的顶部设置最常用的属性?如果#1没有效果,我是否应该创建两个单独的对象,一个具有最常见的5%的属性,首先搜索那个,如果在那里找不到该属性,则使用所有不太常见的属性?或者,有没有更好的办法? 最佳

javascript 字符串解释为对象

从生产的Angular来看可能无关紧要,但我想知道为什么会这样。字符串文字被解释为一个对象。functionfancyCallback(callback){callback(this);console.log(typeofthis);//justtoseeitreallyisanobject}fancyCallback.call('stringhere',console.log);我要打电话this.toString()如果我想要预期的输出,则在函数内部。我知道字符串是javascript中的对象(这很可爱),但在简单的console.log('abc')中,它们自然被解释为字符串。这

javascript - setPrototypeOf 对新对象的性能影响是什么?

MDN暗示使用.setPrototypeOf()会对代码的future性能产生不良影响。我还阅读了一些关于为什么更改对象的[[Prototype]]会降低性能的问题。但是没有一个答案真正解释了后台发生的事情。所以我想知道这是否也适用于新对象。我特别喜欢做这样的事情:varMyPrototype={method1:function(){...},method2:function(){...},...};varnewObject=Object.setPrototypeOf({property:1,property2:'text'},MyPrototype);不幸的是,您不能使用Object

javascript - 在 webworker 中运行 Angular 5 应用程序会导致窗口对象未定义

我正在尝试升级this(ngx-admin)免费的Angular模板到Angular5,然后尝试在WebWorker中运行整个应用程序,如本SOPost中所述.我已成功将应用程序升级到Angular5,它工作正常,但是当我尝试将应用程序配置为在Webworker中运行时,出现以下错误:完整代码(修改为Angular5和webworker)可见here我尝试在我的webpack配置中添加DefinePlugin,但没有成功。webpack.config.json:newDefinePlugin({window:undefined,document:undefined}),我能够在webw

对象数组和 indexOf 的 Javascript 奇怪之处

不太明白这里发生了什么。给定数组(arr):[{"first_name":"Dan","last_name":"Woodson","id":1},{"first_name":"Jen","last_name":"Woodson","id":2},{"first_name":"Yoshi","last_name":"Woodson","id":3}]和对象(obj):{"first_name":"Yoshi","last_name":"Woodson","id":3}为什么arr.indexOf(obj)会返回-1(特别是因为我在函数的前面使用它的“id”参数从数组中检索了对象)?

Javascript数组变成对象结构

我在使用包含一些对象的javascript数组时遇到了一个奇怪的行为(也许它根本不奇怪,但只是我不明白为什么)。由于我不是javascript专家,所以很可能会很清楚地解释为什么会发生这种情况,我只是不知道。我有在文档中运行的javascript。它使一个类似于这样的对象数组:varmyArray=[{"Id":"guid1","Name":"name1"},{"Id":"guid2","Name":"name2"},...];如果我像JSON.stringify(myArray)一样在它创建的地方打印出这个数组,我得到了我所期望的:[{"Id":"guid1","Name":"nam

javascript - 我如何在 Angularjs 中广播一个对象?

如何通过事件广播对象?目前我正在尝试:app.run($rootScope)->message={type:'channel',action:'create',data:{name:"ssss",id:0}}$rootScope.$broadcast('message',message)angular.module('WebChat').controller'ChannelController',($scope)->$scope.$on'message',(message)->console.logmessageconsole.log'hi'但是我没有得到输出编辑我让它工作了。好像回调