
JavaScriptに関する3つの質問に答えてください。 それらのいずれかがあなたにとって難しい場合は、Trevor Burnhamの優れた本であるAsync JavaScriptを読んでください。 ここでは90ページしかありませんが、JavaScriptイベントループ、同期/非同期、シングルスレッド/マルチスレッド(ワーカー)、約束、ファイバーなどのトピックがここでは興味深いです。
では、次のコードは何を生成しますか?
for (var i = 1; i <= 3; i++) { setTimeout(function(){ console.log(i); }, 0); };
答え
4
4
4
4
4
UPD 2番目の質問は削除されました-ブラウザでの異なる実装。
1秒あたり
setInterval(func, 0)
はブラウザで何回(およそ)回動作しますか?
var fireCount = 0; var start = new Date; var timer = setInterval(function() { if (new Date - start > 1000) { clearInterval(timer); console.log(fireCount); return; } fireCount++; }, 0);
答え
250以下(ほとんどの場合240-250)
これがなぜそうなのか疑問に思うなら、答えは本の中にあります。
内容
- はじめに
- 楽園のトラブル
- この本の対象者
- JavaScriptを学習するためのリソース
- どこで助けを求めますか?
- コード例を実行する
- 本書のコードスタイル
- altJSに関する一言
- この本のリソース
- JavaScriptイベントについて
- イベントのスケジュール
- 非同期関数の種類
- 非同期関数の作成
- 非同期エラーの処理
- ネスト解除コールバック
- 私たちが学んだこと
- イベントの配布
- PubSub
- イベントモデル
- カスタムjQueryイベント
- 私たちが学んだこと
- 約束と延期
- 約束の非常に簡単な歴史
- 約束をする
- コールバックへのデータの受け渡し
- 進捗通知
- 約束の組み合わせ
- パイプを使用して未来にバインド
- jQuery vs. 約束/ A
- コールバックを約束に置き換える
- 私たちが学んだこと
- Async.jsを使用したフロー制御
- 非同期注文の問題
- 非同期収集メソッド
- Async.jsを使用してタスクを整理する
- 動的非同期キューイング
- ステップ付きのミニマリストフロー制御
- 私たちが学んだこと
- ワーカーとのマルチスレッド
- ウェブワーカー
- クラスターを持つノードワーカー
- 私たちが学んだこと
- 非同期スクリプトの読み込み
- 制限事項と注意事項
- <script>タグの再導入
- プログラムによる読み込み
- 私たちが学んだこと
- JavaScriptを使いこなすためのツール
- タメジス
- Stratifiedj
- カフェイン
- Streamline.js
- ノードファイバー
- JavaScriptの未来:ジェネレーター