2016-05-30 3 views
7
function fun(){ 
    console.log("Hi"); 
    window.location.href="http://www.google.com"; 
    console.log("Hello, how are you"); 
    alert("I am good"); 
    fun1(); 
} 

function fun1(){ 
console.log("Whats up??"); 
} 

あなたは上記のコードの行が表示された場合location.hrefは はconsole.log(「こんにちは、どのようにしている」)、警告およびFUN1()前に呼び出さなっています。JavaScriptのlocation.href呼び出しは非同期ですか?

fun()を呼び出すと、location.href以下のすべてのステートメントが実行され、https://www.google.comにリダイレクトされます。

私の質問は「location.hrefコールは本質的に非同期ですか、そうでなければ何が起こっているのですか?」

ユーザーを他のページにリダイレクトすると思ったので、その下のコード行は決して実行されません。

何かヘルプ/説明がありがとうございます!ブラウザは、次のWebアドレスになるまで

おかげ

答えて

3

ブラウザはwindow.location.href = 'http://google.com後にコードを実行します。そのため、実行する行数は、ブラウザの速度の組み合わせや、ユーザーからの同期入力(ケースではalert)によって異なります。

+0

私の場合、実際にはgoogle.comにリダイレクトされる前にすべてのコード行を実行しています – shreyansh

+0

あなたのコメントから何を理解する必要がありますか?それは同期または非同期ですか? – shreyansh

+0

@shreyansh最も広い意味では非同期です。私のコメントは、移行前にどれくらい完了できるかということです。 –

関連する問題