草庐IT

想要做数藏的,你了解了多少呢?

全部标签

javascript - JavaScript 错误捕获的正确粒度是多少?

我曾经在我的JS类的任何方法中放置一个try...catch:varMyConstructor=function(){this.init=function(){try{//themethodcode...}catch(error){//theerrormanagerlogactions}};//othermethods,withthesametry/catchusage};通过这种方式,保持代码接口(interface)相对简单,我认为代码中的任何错误都会被捕获并记录/管理。varmyInstance=newMyConstructor();相反,每个脚本一个全局catchblock是否

javascript - 了解 underscore.js 代码的结构

我在underscoresourcecode中看到了这种模式和许多其他开源JavaScript项目:(function(){//thelibrarycode}).call(this);谁能解释一下这个模式的作用?使用它有什么好处?为什么不只是:(function(){//thelibrarycode}()); 最佳答案 由于两者在正常情况下是等价的,所以我查看了源代码并将其从您建议的形式更改为2年前的当前形式,并带有以下checkin评论:“添加了全局上下文的显式定义以与Adob​​eJS兼容”https://github.com/

javascript - 在 jquery ajax 中可以设置的最大超时是多少?

$.ajax(url:"",async:true,timeout:2*60*60*1000,//2hours,success:function(){},error:function(){});在jQueryajax请求中,如果我将超时设置为较大的值,或者将其留空,它会一直等待直到服务器返回结果吗?实际上,我预计服务器会在1.5小时内响应,所以在我的js脚本中我将超时设置为2小时,但我发现Ajax跳转到错误函数(消息代码404)不到1小时。这意味着ajax提前中止等待。所以我想知道ajax是否可以设置最大超时值? 最佳答案 我之前的回

javascript - 了解 hashchange 事件的执行顺序

我有一个关于这段代码的问题要问你:window.location.hash=1;$(window).on('hashchange',function(){alert('hello');});上面的脚本应该这样做:将位置哈希设置为1任何进一步的变化->alert('hello')问题来了:为什么在第一次执行的第一时间就调用了hashchange?这个脚本不应该只更改散列而没有任何警报吗?我怎样才能修复它以使其如描述的那样工作? 最佳答案 首先,你问:whyishashchangecalledatthefirsttimeofthefir

javascript - 了解 map 与对象 MDN 文档

有个问题here这与“运行时key未知时”类似,但特定于“当key在运行时未知时”。MDNdocsforMap状态:Usemapsoverobjectswhenkeysareunknownuntilruntime,andwhenallkeysarethesametypeandallvaluesarethesametype.Useobjectswhenthereislogicthatoperatesonindividualelements.我理解关于“在运行时之前key未知”时使用映射的建议。我对“当所有键都是相同类型并且所有值都是相同类型”这一行感到困惑。他们想在那里提出什么建议?我的

javascript - "creation phase"怎么知道设置多少内存空间呢?

在JavaScript:UnderstandingtheWeirdParts讲师解释说,变量的内存是在所谓的创建阶段设置的(并且undefined已分配);然后执行阶段发生。但是,当我们不知道变量稍后将指向什么值时,为什么这很有用呢?显然变量可以指向许多不同的东西——例如一个短字符串一直到一个深层嵌套的对象结构——我假设它们在所需的内存量上可能会有很大差异。如果逐行执行——包括变量赋值——只发生在后面的执行阶段,初始创建阶段怎么知道如何设置内存?或者,是否只为每个变量名称/值对中的名称预留内存,而对值的内存以不同方式管理? 最佳答案

javascript - 了解一下 ember/ember-data 对象的生命周期如何。或者调试 Ember.js 和 Ember-Data 的技巧/提示?

我不是在寻找如何调试javascript。我对手头的工具非常熟悉,尽管不熟悉Firefox的新调试功能,因为他们构建了自己的“firebug”。我真的只是在寻找一种简单的方法来读取堆栈跟踪,因为对象/函数很容易通过Ember自己的调用机制运行。很容易忘记被调用的函数是什么以及它附加到的this的绑定(bind)。有没有人在调试ember的堆栈时想到了任何技巧或肺炎?更新:这不是异步调试的问题http://www.html5rocks.com/en/tutorials/developertools/async-call-stack/ 最佳答案

javascript - 了解 SVG 查询字符串参数

我创建了一个SVG文件,打算用作CSS中的背景图片。我希望能够使用查询字符串参数更改SVG中的填充颜色,如下所示:#rect{background-image:url('rect.svg');}#rect.red{background-image:url('rect.svg?color=red');}据我所知,使用SVG中的脚本标记,我能够获取color参数并更新填充颜色。这是一个SVG示例:直接转到文件,或使用对象标签似乎可行,但对于CSS背景图像或img标签,颜色参数将被忽略。我不确定这里发生了什么,我希望对我试图完成的事情有一个解释或替代解决方案(最好不求助于服务器端处理)。这是

javascript - 了解如何使用 NodeJS 创建一个简单的后端

我一直在尝试用nodejs开发一个相当简单的服务器。基本上,我想要的是一个需要身份验证的简单API(简单的用户名/密码样式)。我不需要需要的是任何类型的前端功能(模板等)。我的问题是,我似乎无法理解express/node的方法。具体来说,我的问题是:如何进行身份验证?我是将多个处理程序传递到每条需要身份验证的路由,还是有更优雅的方法来执行此操作?Express中间件(如app.use(express.bodyParser()))如何工作?它们是否改变了request或response对象的内容?具体来说,如果我使用主体解析器(内部功能强大?),我应该在哪里访问应该解析的请求数据?当使

javascript - 了解 Istanbul 尔的代码覆盖率

我刚开始使用一个示例文件(example.js),其中包含以下语句:x=42;if(false)x=-1;我没有任何单元测试文件。但是当我跑的时候istanbulcoverexample.js我看到了一些下面的覆盖率数据===============================Coveragesummary===============================Statements:66.67%(2/3)Branches:50%(1/2)Functions:100%(0/0)Lines:66.67%(2/3)==================================