草庐IT

结构分析

全部标签

javascript - jQuery 对象数据结构

我正在尝试创建一个可以支持方法链的迷你jQuery克隆。到目前为止,我已经想出了这段代码:var$=(function(){varelements=[];functionmethodOne(){console.log('Method1');returnthis;}functionmethodTwo(){console.log('Method2');returnthis;}return{methodOne:methodOne,methodTwo:methodTwo};}());在页面加载时,$变量被IIFE返回的jQuery克隆对象填充。我的问题是,如何使$对象作为函数直接调用,同时仍然

javascript - 在 d3.js 中从 csv 创建层次结构

我有一个包含以下数据的csv:world,country,stateWorld,US,CAWorld,US,NJWorld,INDIA,ORWorld,INDIA,APWorld,INDIA,TN我需要转换成如下所示的树层次结构:{"name":"World","children":[{"name":"US","children":[{"name":"CA"},{"name":"NJ"}]},{"name":"INDIA","children":[{"name":"OR"},{"name":"TN"},{"name":"AP"}]}]};然后这棵树将用于树可视化。有人可以帮忙吗?

.NET/Visual Studio 中的 Javascript 测试结构

我有一个.NETMVC解决方案,它包含各种javascript,我希望能够使用QUnit测试这些脚本,所以我应该把测试脚本和QUnit工件放在哪里?在mvc项目中?如果是,那么我大概需要在部署应用程序时通过构建过程删除这些脚本?好像有点垃圾?我真的不希望测试代码与生产代码混在一起。在单独的“测试”网络项目中?非常适合更好的分离,但随后我需要一些构建操作,将我的SUT脚本移动到这个单独的项目,以便测试脚本可以引用它们。可能比选项1更可取,但仍然有点垃圾?最佳做法是什么?有最佳实践吗?我没有提到的其他方式?有什么工具可以提供帮助吗?我错过了一些明显的东西吗?This建议单独的项目+Xcop

javascript - 如何配置 grunt-contrib-uglify 以在保留目录结构的同时缩小文件

如果我在下面发布的示例Gruntfile中的“js”目录下有多个子目录,并且想将子目录保留在不同的目标目录下,我该怎么做?例如module.exports=function(grunt){grunt.initConfig({//definesourcefilesandtheirdestinationsuglify:{files:{src:'js/**/*.js',//sourcefilesmaskdest:'minJs/',//destinationfolderexpand:true,//allowdynamicbuildingflatten:true,//removeallunnec

javascript - 如何在JSON.stringify : Uncaught TypeError: Converting circular structure to JSON?中找到循环结构

当我在大型结构上遇到UncaughtTypeError:ConvertingcircularstructuretoJSON时,很难找出循环引用的确切位置。是否有一种简单的方法来查找/调试数据结构中的循环元素? 最佳答案 我还没有找到一个简单的方法来做到这一点,其他人似乎建议在JSON.stringify中使用自定义替换函数来控制访问了哪些属性。我试图写这样的替代品:functiondetector(obj){functioncollector(stack,key,val){varidx=stack[stack.length-1].i

javascript - 在二维数组上先运行 x 或先运行 y 的结构

我想将标志传递给通过列扫描或行扫描运行算法的函数:ifrun-on-xfor1..xfor1..ydosomethingwithary[x][y]elsefor1..yfor1..xdosomethingwithary[x][y]但我不想重复所有的循环和逻辑。我想出了这个:letnumPx=width*height;for(letpx=0;px但我认为所有的数学运算都相当繁重,尤其是当我在相当大的阵列上运行它时。有更好的方法吗? 最佳答案 也许像这样简单地将它们作为参数传入?:functioncolRowScan(1stAxis,2

javascript - 这个显示为列表但具有键值对的数据结构是什么?

我在几个Node示例中多次看到过这种情况,但一直不太确定它是什么。一个例子是net.Socket。这是数据监听器发出警告后的套接字。>commands._events.data[[Function],warned:true];另一个例子是使用/^(some)(regex)$/.exec("someregex")['someregex','some','regex',index:0,input:'someregex']我不确定我是否理解这个数据结构是什么。它是列表还是字典?为什么它有索引,还有键值对?我可以执行match.index,也可以执行match[1]。它是如何构建的?(抱歉,如

javascript - Chrome 分析器 - 为什么功能有时会停止一小段时间?

这是ChromePerformanceDevtools捕获的我的网络执行的图片:我注意到函数在执行过程中会停止很多次,当我的网络函数停止时,Chrome会执行一些RegExp操作(如图所示)。我不明白这是什么,为什么会这样。请帮忙解释一下,谢谢。更新:这是一个同样以相同方式执行的函数: 最佳答案 你描述了什么您描述问题的方式听起来像是您认为JavaScript虚拟机在函数执行时(即在它们返回之前)暂停(停止它们)以执行其他操作,然后恢复函数。您显示的图像对我来说根本没有暗示。我看到了什么虚拟机执行:callback,调用一些名称被工

javascript - 使用带快照的 ESLint 进行静态分析

我们在公司中使用ESLint来检测错误,这些错误会破坏构建并阻止部署,但我们还有一些其他规则会在我们的控制台中触发一些警告。我们希望在时间轴上看到这些警告,这样我们就能够检查我们是否正在改善我们的技术债务。我试过了SonarEsLintPlugin在SonarQube中,但它在版本7+中无法正常工作有谁知道其他获取ESLint时间线快照的方法吗? 最佳答案 可以使用官方SonarJSplugin来自Sonar源。在最新的4.2版本中它支持ESLint问题的导入,参见documentationhere.它将允许跟踪您的技术债务,您还可

javascript - 游戏关卡的数据结构

我正在使用完全基于图block的canvas在JavaScript中创建平台游戏。在游戏中存储元素block(墙壁、地板、元素)的最佳方法是什么?问题是每一block瓷砖都可以被摧毁或创造。目前我有一个二维数组,因此我能够快速检查某个项目是否位于特定的X和Y位置。这个问题是当用户移动并且map需要滚动时,我需要重新分配每个block。当项目位于x=0时会发生什么?我不能使用负索引。我宁愿将滚动模拟一次放到一个图block上。我还计划在用户移动时随机生成map,如果以前没有生成过的话。因此,一旦生成某些东西,它就应该永远保持这种状态。我应该提到的另一点是它也将是多人游戏。因此,在缓存数据