• このエントリーをはてなブックマークに追加

HTML5プロフェッショナル認定試験レベル2 サンプル問題

例題解説とその内容については、例題提供者の監修です。内容や試験問題に関わるお問い合わせにつきましては、LPI事務局ではお応えできませんのでご了承ください。
例題解説のご提供者さまを募集中です。LPI-Japan事務局までぜひご投稿ください。選ばれた方の例題解説は本サイトに掲載させていただきます。

2.11 Web Workers に関する問題

例題11.2「2.11 Web Workers」
レベル2の出題範囲「2.11 Web Workers」からの出題です。
以下の内容のJavaScriptファイル(worker.js)を使用してWeb Workerを使用した場合に、発生したエラー内容を表示することのできるスクリプトを一つ選択しなさい。
worker.js
onmessage = function(event) { postMessage(dummy); // 未宣言の変数の参照 }
  • var worker = new Worker(¥'worker.js¥');
    worker.onerror = function(error) {
      console.error(error.lineno);
    }
    worker.postMessage(¥'Hello.¥');
  • var worker = new Worker(¥'worker.js¥');
    worker.onerror = function(error) {
      console.error(error.message);
    }
    worker.postMessage(¥'Hello.¥');
  • var worker = new Worker(¥'worker.js¥');
    worker.onmessage = function(error) {
      console.error(error.message);
    }
    worker.postMessage(¥'Hello.¥');
  • var worker = new Worker(¥'worker.js¥');
    worker.onerror = function(error) {
      console.error(error.filename);
    }
    worker.postMessage(¥'Hello.¥');

※この例題は実際のHTML5プロフェッショナル認定試験とは異なります。

答えはこちら

例題11.1「2.11 Web Workers」
レベル2の出題範囲「2.11 Web Workers」からの出題です。
次のHTMLを表示した際の説明として正しいものをすべて選びなさい。
sample.html
<html> <head> <meta charset="utf-8"> <script> var obj = {"num": 1000000000}; var func = function(obj){ var result = 0; for (var i = 0; i <= obj.num; i++) { result += i; } return result; } var worker = new Worker("worker.js"); worker.onmessage = function(e) { document.getElementsByTagName("body")[0].innerHTML = e.data; }; worker.onerror = function(e) { document.getElementsByTagName("body")[0].innerHTML = e; }; worker.postMessage({"obj": obj, "func":func}); </script> </head> <body></body> </html>
worker.js
onmessage = function(e){ postMessage( e.data.func(e.data.obj) ); };
  • エラーメッセージが表示される。
  • 1から1000000000まで合計した値が表示される。
  • ブラウザがフリーズする。
  • 何も表示されない。

※この例題は実際のHTML5プロフェッショナル認定試験とは異なります。

答えはこちら

このページの先頭へ