Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Will var result=function(){//doSomething};如果(result!=null){//doSomething}强制执行同步代码?_Javascript - Fatal编程技术网

Javascript Will var result=function(){//doSomething};如果(result!=null){//doSomething}强制执行同步代码?

Javascript Will var result=function(){//doSomething};如果(result!=null){//doSomething}强制执行同步代码?,javascript,Javascript,我想知道如何在没有插件的情况下强制javascript代码自己同步执行 浏览器是否会等到以下变量具有值后继续执行其余代码? 编辑: var result = (function() { /*doSomething*/ }) (); 由于使用调试器测试这一点可能很棘手,也许你们中的一个人知道这是否可以实现 谢谢。我相信您正在寻找一个自调用函数。看起来像这样 var result = (function(){ /* do something */ }()); // Or... var r

我想知道如何在没有插件的情况下强制javascript代码自己同步执行

浏览器是否会等到以下变量具有值后继续执行其余代码? 编辑:

  var result = (function() { /*doSomething*/ }) (); 
由于使用调试器测试这一点可能很棘手,也许你们中的一个人知道这是否可以实现


谢谢。

我相信您正在寻找一个自调用函数。看起来像这样

var result = (function(){ /* do something */ }());

// Or...

var result = (function(){ /* do something */})();

这将立即执行函数,并将返回值分配给
结果

浏览器将仅将函数存储在变量中,这样您就可以通过执行以下操作调用该函数:

var result = function() { // BLABLABLA //};
result(); // Calling the function
如果需要自调用函数,可以执行以下操作:

var result = (function(){ // BLABLABLA // })();

你到底想达到什么目的?

XY问题。你的实际目标是什么?你通常不想在JS中使用同步的东西。不知道为什么你的例子是同步的。。。您只是定义函数并命名指向该函数的指针
result
您能定义“synchronous”吗?此外,您从未实际执行函数,您只是定义函数。你能发布一个更完整的代码示例吗,最好不要在标题中?@ThiefMaster也许一个解释的链接对OP更有帮助。我在代码上犯了一个错误,我实际上是指给一个自调用函数分配一个变量。我正在使用一个只支持javascript的大型应用程序,所以同步性很容易实现。我正在寻找一个自调用函数,它可以阻止后面任何东西的执行。但是阻止到什么时候?如果使用无限循环,它将冻结其他javascript代码的执行。您可能应该看看回调函数。您到底想做什么?阻塞直到执行结束直到函数执行结束?因此,是的,它会起作用。您的函数将做什么?如果我随后添加一个条件,如If(result!=null){},这会等待自调用函数填充变量,然后才执行此条件吗?是的,函数将立即执行并将其返回值分配给
result
,然后继续下一个语句。“If(result!=null){}”声明是无用的。在执行自调用函数之前,执行将停止。这一点都不是无用的。对我来说,使用函数的返回值有条件地执行语句似乎相当标准。