84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
//最初の return false は有効です //2 番目の return false は無効です理由は何ですか
温故而知新,可以为师矣。 博客:www.ouyangke.com
質問の最初のreturn falseは同期的に呼び出されるため、効果が確認できます;
return false
$.post メソッドは非同期で実行されるため、$.post方法是异步执行的,因此在$.post方法的回调函数里面return false的时候,其实是生效了的,但是在执行这句代码的时候,$.post外面的代码早就执行完成了,所以看不到效果而已。另外,在回调函数里面加这句代码并没有什么意义,因为即使是return,也是退出当前执行的函数,即$.post的回调函数,并不能阻止$.post が $.post メソッドのコールバック関数内にある場合に実際に有効になりますが、このコードを実行するとの場合、$.post の外側のコードはすでに実行されているため、効果は表示されません。さらに、このコードをコールバック関数に追加することは意味がありません。return ですら、現在実行中の関数、つまり $.post のコールバック関数を終了するからです。 $.post の外でのコードの実行を防ぐことはできません。
$.post
return
$.post メソッドのコールバック関数に$.post请求成功之后执行的,那就把代码放到$.post方法的回调函数里面去吧。例如题主如果本意想让alert('1111')在请求成功后通过条件判断执行,那可以alert('11111')配置する必要があるコードがある場合;
alert('1111')
alert('11111')
ここで被験者に対する同期と非同期について説明します。たとえば、被験者はコードを書いていて喉が渇いたので、水を沸騰させて飲みに行きます。このプロセスでは、サブジェクトはスレッドに相当します。サブジェクトが現在実行している内容は、喉が渇いたときに水を入れて沸騰させることです。心配する必要はありません。コードを書くには、水が調理されるまで待つだけで済みます。調理したら、取り出して自分で飲むだけです。対象のコードは上から順に実行され、$.post就发送一个请求,请求的过程中外部的js还是继续执行(并没有等待$.post请求返回结果),等到ajax请求返回了,再回调之前定义的回调函数。这里除了$.postまで実行されると非同期で実行され、残りのコードが同期的に実行されます。
さらに、質問の正規表現は/^1[34578]d{9}$/g
/^1[34578]d{9}$/g
Return は現在の関数を返します。最初の戻りはクリック イベントのコールバック関数であり、2 番目の戻りは Ajax リクエストのコールバック関数です。当然、外部関数のコールバックは妨げられません。
post の関数は非同期関数であり、リクエストが成功した後にのみ呼び出され、リクエストが正常に返されるまで、コードは実行され続けます。したがって、return false ステートメントは無効です。解決策は、$.post() の非同期関数内ではなく、非同期関数の外側に return false を置くことです。
$.post 是异步执行的,需要使用 $.ajax 并设置 async: false。
$.ajax
async: false
alert(1111)と同じレベルに配置します
質問の最初の
return false
は同期的に呼び出されるため、効果が確認できます;$.post
メソッドは非同期で実行されるため、$.post
方法是异步执行的,因此在$.post
方法的回调函数里面return false
的时候,其实是生效了的,但是在执行这句代码的时候,$.post
外面的代码早就执行完成了,所以看不到效果而已。另外,在回调函数里面加这句代码并没有什么意义,因为即使是return
,也是退出当前执行的函数,即$.post
的回调函数,并不能阻止$.post
が$.post
メソッドのコールバック関数内にある場合に実際に有効になりますが、このコードを実行するとの場合、$.post
の外側のコードはすでに実行されているため、効果は表示されません。さらに、このコードをコールバック関数に追加することは意味がありません。return
ですら、現在実行中の関数、つまり$.post
のコールバック関数を終了するからです。$.post
の外でのコードの実行を防ぐことはできません。$.post メソッドのコールバック関数に
$.post
请求成功之后执行的,那就把代码放到$.post
方法的回调函数里面去吧。例如题主如果本意想让alert('1111')
在请求成功后通过条件判断执行,那可以alert('11111')
配置する必要があるコードがある場合;ここで被験者に対する同期と非同期について説明します。たとえば、被験者はコードを書いていて喉が渇いたので、水を沸騰させて飲みに行きます。このプロセスでは、サブジェクトはスレッドに相当します。サブジェクトが現在実行している内容は、喉が渇いたときに水を入れて沸騰させることです。心配する必要はありません。コードを書くには、水が調理されるまで待つだけで済みます。調理したら、取り出して自分で飲むだけです。対象のコードは上から順に実行され、
$.post
就发送一个请求,请求的过程中外部的js还是继续执行(并没有等待$.post
请求返回结果),等到ajax请求返回了,再回调之前定义的回调函数。这里除了$.post
まで実行されると非同期で実行され、残りのコードが同期的に実行されます。さらに、質問の正規表現は
のように記述できると個人的には最適化できることがわかりました。/^1[34578]d{9}$/g
Return は現在の関数を返します。最初の戻りはクリック イベントのコールバック関数であり、2 番目の戻りは Ajax リクエストのコールバック関数です。当然、外部関数のコールバックは妨げられません。
post の関数は非同期関数であり、リクエストが成功した後にのみ呼び出され、リクエストが正常に返されるまで、コードは実行され続けます。したがって、return false ステートメントは無効です。解決策は、$.post() の非同期関数内ではなく、非同期関数の外側に return false を置くことです。
$.post
是异步执行的,需要使用$.ajax
并设置async: false
。alert(1111)と同じレベルに配置します