草庐IT

fork函数

全部标签

javascript - 回调函数的用处

在Javascript中,可以定义函数X并将其作为参数传递给另一个函数Y。这样的函数X称为回调函数。您能否在一些清晰的示例中解释为什么使用回调函数很有用(例如,发送一些带演示的fiddle链接)?我可以看到一个用处,它是代码的可读性,但我不确定这一点,因为带有回调的代码看起来更复杂。唯一的用处是它在浏览器环境中使用和在AJAX中异步执行吗?另一个Javascript实现(例如Rhino)呢?回调在那里也有用吗?还是它们的用处仅取决于执行Javascript的环境?谢谢 最佳答案 作为参数的回调回调很有用,因为它们允许您使用代码“配置

javascript - 在纯 JavaScript 函数中使用 jQuery 语句

在ready之外的普通javascript函数中使用jQuery语句是好的还是坏的做法?如果不是,正确的方法是什么?//**Endready**//functiondoSomething(){selectedClickBoxIndex=parseInt(jQuery('.'+clickBoxOnClass).attr('value'));//Javascriptcode} 最佳答案 没有错。当您包含jquery文件时,您正在扩展您的功能,可以在任何您想要的地方免费使用 关于javascr

Javascript/Jquery - 多个变化(函数()

我是Jquery/JS的新手,需要一些帮助。我意识到希望有更好的方法来做到这一点,我们将不胜感激任何帮助。我正在构建一个可以计算总数的表单。即:'成本'x'(1+percent(%))'='总成本'我让它工作得很好,但我想这样做,如果我更改“percent”字段或“cost”字段,那么总量更新。目前,只有当您更新“成本”时,才会总更新。希望这是有道理的。代码如下。$(document).ready(function(){$("#cost").change(function(){varfindprofit=parseFloat($("#cost").val());varprofit=(f

javascript - 即使使用 return 语句,带有 forEach 的函数也会返回 undefined

我只是在创建一个函数来检查我的对象数组中某物的值,但由于某种原因它一直返回undefined。这是为什么?演示:http://jsfiddle.net/cNYwz/1/vardata=[{"Key":"1111-1111-1111","Email":"test@test.com"},{"Key":"2222-2222-2222","Email":"test@boo.com"}];functiongetByKey(key){data.forEach(function(i,val){if(data[val].Key===key){returndata[val].Key;}else{retu

javascript - 如何将 $q 传递给 Angular Directive(指令)链接函数?

我需要使用$q我的指令的一个link函数。我需要它来包装由参数之一重新调整的可能promise(请参见下面的示例)。但是,我不知道如何将$q依赖项传递给此函数。angular.module('directives').directive('myDirective',function(){return{scope:{onEvent:'&'}//...link:function($scope,$element){$scope.handleEvent(){$q.when($scope.onEvent()){...}}}}} 最佳答案 只需

javascript - mozilla firefox 中没有为 javascript 函数定义事件?

functiononlyNumeric(){if(event.keyCode57){event.returnValue=false;}}onkeypress=onlyNumneric();在IE中,这段代码运行良好。但是,在MozillaFirefox中,该事件是一个未定义的错误。 最佳答案 在FF/Mozilla中,事件作为参数传递给您的事件处理程序。使用类似下面的内容来绕过IE中缺少的事件参数。functiononlyNumeric(e){if(!e){e=window.event;}...}您会发现两者之间还有一些其他差异。这

javascript - 跨浏览器选项卡调用 JavaScript 函数

我有两个浏览器选项卡,tab1和tab2。我在tab1中有一个名为execute的函数,我想从tab2中的页面调用它。这可能吗?如果可能的话如何? 最佳答案 JavaScript不能在浏览器中执行交叉表脚本(这是一种安全风险)。但是如果第二个选项卡是从window.open()调用中打开的,并且浏览器设置已设置为新弹出窗口改为在新选项卡中打开——然后是,“tab1”可以与“tab2”对话。第一个选项卡/窗口称为opener,因此新选项卡可以使用以下格式调用opener上的函数:opener.doSomething();同样,打开器可

javascript - 在触发函数以在 JavaScript 中执行之前等待

如何在JavaScript中设置延迟触发器以在指定时间后执行函数?我的程序将等待5秒来执行demo();,如果它无法在5秒内启动演示,我需要自动执行sample()。这可以用JavaScript实现吗? 最佳答案 你可以通过setTimeout在一段时间后调用函数setTimeout(demo,5000);我不确定我是否得到了你问题的“ifitisfailtostartdemowithin5seconds”部分,因为上面的代码将执行5秒内演示()。 关于javascript-在触发函数以

javascript - 如何使用此 javascript 函数将变量发送到表单?

我有这个onclick调用:onClick="mySubmit();调用这个函数:functionmySubmit(){document.getElementById("myForm").submit();}然后提交此表单:我的问题是:我如何从onClick向表单发送一个变量以获得类似于的内容?谢谢! 最佳答案 最简单的方法:将隐藏字段附加到表单。functionmySubmit(){document.getElementById('hiddenField').value="WhateverIwanthere";document.g

javascript - 函数已定义,但错误提示.. 找不到函数! (奇怪的)

这是我的代码:functionmark(){alert("Thisisatestbox..");}setTimeout("mark()",5000);Error:Functionmark()isnotfound!!还有一些其他问题......因为它适用于http://jsfiddle.net/russcam/6EXa9/但它在我的应用程序中不起作用..所以你能帮我调试吗?还有什么原因......顺便说一句,我在GreaseMonkey脚本中运行它! 最佳答案 如果您使用的是GreaseMonkey,您定义的任何函数都会被GM沙盒化,