Tag: JavaScript

Chrome和Firefox中的Javascript中报告了隐藏的“脚本错误”

我有一个脚本,检测我的网站上的Javascript错误,并将其发送到我的后端进行报告。 它报告遇到的第一个错误,假定的行号和时间。 编辑包括文档types: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"> … <script type="text/javascript"> //<![CDATA[ // for debugging javascript! (function(window){ window.onerror = function(msg, url, ln) { //transform errors if (typeof(msg) === 'object' && msg.srcElement && msg.target) { if(msg.srcElement == '[object HTMLScriptElement]' && msg.target == '[object HTMLScriptElement]'){ msg = 'Error loading […]

如何阻止Javascript的forEach?

我正在玩nodejs和mongoose – 试图find深入的评论嵌套recursionfunc和foreach内的具体评论。 有没有办法阻止nodejs forEach? 据我所知每一个迭代是一个函数,我不能只是做“rest”,只有“返回”,但这不会停止foreach。 function recurs(comment){ comment.comments.forEach(function(elem){ recurs(elem); //if(…) break; }); }

在JavaScript中切换语句多个案例

我需要JavaScript中的switch语句中的多个情况,例如: switch (varName) { case "afshin", "saeed", "larry": alert('Hey'); break; default: alert('Default case'); break; } 我怎样才能做到这一点? 如果在JavaScript中没有办法做这样的事情,我想知道另一个也遵循DRY概念的解决scheme。

了解事件循环

我在想这个,这就是我想到的: 假设我们有这样的代码: console.clear(); console.log("a"); setTimeout(function(){console.log("b");},1000); console.log("c"); setTimeout(function(){console.log("d");},0); 一个请求进来,JS引擎开始执行上面的代码一步一步。 前两个电话是同步呼叫。 但是,当涉及到setTimeout方法时,它将成为asynchronous执行。 但JS立即从它返回并继续执行,这被称为Non-Blocking或Async 。 并继续在其他等工作 这个执行的结果如下: ACDB 所以基本上第二个setTimeout首先完成,它的callback函数比第一个执行得早,这是有道理的。 我们在这里讨论单线程应用程序。 JS引擎继续执行这个,除非它完成第一个请求,它不会去第二个。 但好处是,它不会等待像setTimeout这样的阻塞操作来parsing,所以它会更快,因为它接受新的传入请求。 但是我的问题出现在以下几个方面: #1:如果我们正在讨论单线程应用程序,那么当JS引擎接受更多请求并执行它们时,什么机制处理setTimeouts呢? 单线程如何继续处理其他请求? 在其他请求保持进入并执行的情况下, setTimeout是如何工作的。 #2:如果这些setTimeout函数在更多的请求进入和执行后在幕后执行,那么在后台执行asynchronous执行是什么? 我们所说的这个叫做EventLoop东西是什么? #3:但是不应该把整个方法放在EventLoop这样整个事情就会被执行,callback方法会被调用吗? 这是我在谈论callback函数时所理解的: function downloadFile(filePath, callback) { blah.downloadFile(filePath); callback(); } 但在这种情况下,JS引擎如何知道它是否是asynchronous函数,以便将callback放入EventLoop? Perhaps something like the EventLoop? Perhaps something like the C#中EventLoop? Perhaps something like the async`关键字或某种指示JS引擎将采取的方法的属性是asynchronous方法,应该作相应的处理。 #4:但是有一篇文章与我猜测的事情可能如何工作完全相反: 事件循环是一个callback函数的队列。 当asynchronous函数执行时,callback函数被推入队列中。 JavaScript引擎不会开始处理事件循环,直到执行了asynchronous函数之后的代码。 […]

如何在文件准备好的angular度控制器上运行function?

我在我的angular度控制器中有一个函数,我想这个函数在文档准备运行,但我注意到,angular度运行它,因为dom创build。 function myController($scope) { $scope.init = function() { // I'd like to run this on document ready } $scope.init(); // doesn't work, loads my init before the page has completely loaded } 任何人都知道我可以怎么做呢?

如何打破/退出JQuery中的每个()函数?

我有一些代码: $(xml).find("strengths").each(function() { //Code //How can i escape from this block based on a condition. }); 我怎样才能从“每个”代码块基于条件转义? 更新: 如果我们有这样的事情呢? $(xml).find("strengths").each(function() { $(this).each(function() { //I want to break out from both each loops at the same time. }); }); 是否有可能从“每个”内部的“每个”function中分离出来? #19.03.2013 如果你想继续而不是爆发 return true;

如何从JavaScript中的类inheritance?

在PHP / Java中,可以这样做: class Sub extends Base { } 而且Super类的所有公共/受保护的方法,属性,字段等自动成为Sub类的一部分,如果需要的话可以被覆盖。 在Javascript中相当于什么?

如何在AngularJS中进行双向过滤?

AngularJS可以做的一件有趣的事情是对特定的数据绑定expression式应用filter,这是一种方便的方式来应用,例如,特定于文化的货币或模型属性的date格式。 在范围上计算属性也很好。 问题是这些function都不适用于双向数据绑定场景 – 从范围到视图只有单向数据绑定。 这似乎是在一个优秀的图书馆明显的遗漏 – 或者我错过了什么? 在KnockoutJS中 ,我可以创build一个读/写计算属性,它允许我指定一对函数,一个被调用来获取属性的值,另一个在属性被设置时被调用。 这允许我实现文化感知input – 让用户input“$ 1.24”并将其parsing为ViewModel中的float,并在input中反映ViewModel中的变化。 我可以find类似的最接近的是使用$scope.$watch(propertyName, functionOrNGExpression); 这允许我在$scope中的一个属性发生变化时调用一个函数。 但是,这并不能解决文化意识的input问题。 注意当我尝试修改$watch方法本身内的$watch $watched属性时的问题: $scope.$watch("property", function (newValue, oldValue) { $scope.outputMessage = "oldValue: " + oldValue + " newValue: " + newValue; $scope.property = Globalize.parseFloat(newValue); }); ( http://jsfiddle.net/gyZH8/2/ ) 当用户开始input时,input元素会变得非常困惑。 我通过将属性分成两个属性来改进它,一个用于parsing值,另一个用于parsing值: $scope.visibleProperty= 0.0; $scope.hiddenProperty = 0.0; $scope.$watch("visibleProperty", function (newValue, oldValue) […]

如何检查JavaScript中的空值?

我如何检查JavaScript中的空值? 我写了下面的代码,但没有奏效。 if (pass == null || cpass == null || email == null || cemail == null || user == null) { alert("fill all columns"); return false; } 我怎样才能find我的JavaScript程序中的错误?

substr和substring有什么区别?

有什么区别 alert("abc".substr(0,2)); 和 alert("abc".substring(0,2)); 他们似乎都输出“ab”。