<cite id="lhplr"><source id="lhplr"></source></cite>
  1. \n
    <\/div>\n
    <\/div>\n \n \n<\/body>\n<\/html><\/pre>\n

    ご覧のとおり、このコードはCDNを使用してCSSとJavaScriptファイルを含めます。したがって、リンクを更新して、以前にダウンロードしたファイルを含める必要があります。マークには、いくつかの

    <\/code>が配置されているのがわかります。最初のものには、そのIDとしてQunitがあり、フレームワークで使用されているユーザーインターフェイスを表示し、テスト結(jié)果が表示されます。 IDがqunit-fixtureである2番目の
    <\/code>は、(開発者)が使用する必要があります。この要素により、開発者は、各テストの後にDOMのクリーンアップを心配することなく、DOMから要素を追加、編集、または削除するコードをテストできます。このコードによって作成された要素をこの
    <\/code>に配置すると、Qunitがリセットを処理します。最後に、テストを含むファイルを表すtests.jsファイルを含めます。私のアドバイスは、実際のプロジェクトを操作するときにファイルを使用してテストを保存することです。このチュートリアル用に作成したライブデモでは、JSBINを使用しましたが、ファイルのアップロードを許可しませんでした。したがって、デモでは、テストコードに巻き込まれたことがわかります。各セクションにタグを付けることの意味を理解したので、ブラウザのindex.htmlページを開いて、何が起こるかを確認(rèn)します。すべてがうまくいけば、以下に示すようにライブデモインターフェイスが表示されます。これはJSBIN:QUNITの例としても提供されます。この段階では、當(dāng)社に関連するこのインターフェイスの唯一の部分は、Qunitがテストの処理に費(fèi)やす時(shí)間、定義されたアサーションの數(shù)、および合格して失敗したテストの數(shù)を示す部分です。上記のデモは、テストを定義していないことを示しています。この問(wèn)題を解決しましょう。 <\/p>\n

    qunit <\/strong><\/p>を使用してテストを作成する方法\n

    Qunitは、新しいテストを作成する2つの方法を提供します:QUnit.test()<\/code>とQUnit.asyncTest()<\/code>。最初のものはコードを同期してテストするために使用され、2番目のものは非同期コードをテストするために使用されます。このセクションでは、同期コードのテストを作成する方法について説明します。 QUnit.test()<\/code>メソッドの署名は次のとおりです。\n<\/p>\n

    QUnit.test(name, testFunction)<\/pre>最初のパラメーター

    は、作成されたテストを識(shí)別するのに役立つ文字列です。 2番目のパラメーターname<\/code>は、フレームワークが実行するアサーションを含む関數(shù)です。フレームワークは、すべてのQunitのアサーション方法を公開するこの関數(shù)にパラメーターを渡します。この説明をコードに変換すると、次のコードでtests.jsファイルを更新できます。\ntestFunction<\/code>\n<\/p>このコードは、文字列「私の最初のテスト」と空のボディを持つ関數(shù)によって識(shí)別された新しいテストを作成します。アサーションなしでテストを追加するのは役に立ちません。この問(wèn)題を解決するには、Qunitで利用可能なアサーション方法を?qū)Wぶ必要があります。

    QUnit.test('我的第一個(gè)測(cè)試', function(assert) {\n   \/\/ 斷言在這里...\n});<\/pre>\n

    <\/p>qunitのアサーション方法

    \n<\/strong>アサーションはソフトウェアテストの中心にあります。彼らは、私たちのコードが期待どおりに機(jī)能することを確認(rèn)することができます。 Qunitには、これらの期待を検証する多くの方法があります。テストでは、<\/p>メソッドに渡された関數(shù)のパラメーターによってアクセスできます(前の例では

    )。次のリストは、利用可能な方法とその機(jī)能と署名を要約しています。

      \n
    • deepEqual(value, expected[, message])<\/code>:すべてのJavaScriptタイプで機(jī)能する再帰的な厳格な比較。 value<\/code>とexpected<\/code>は、プロパティと値の點(diǎn)で同じであり、同じプロトタイプを持っている場(chǎng)合、<\/li>\n
    • equal(value, expected[, message])<\/code>:value<\/code>は、非厳密な比較(==)検証を使用して提供されるパラメーターに等しくなります。 expected<\/code>\n<\/li>
    • notDeepEqual(value, expected[, message])<\/code>と同じですが、不平等をテストします\ndeepEqual()<\/code> <\/li>:
    • と同じですが、不平等をテストします\nnotEqual(value, expected[, message])<\/code>equal()<\/code>:オブジェクトのプロパティと値の厳密な比較。すべての屬性と値が同じ場(chǎng)合、アサーションが渡されます\n<\/li>
    • :厳密な比較(===)検証を使用して、propEqual(value, expected[, message])<\/code>に等しいパラメーターを提供します\n<\/li>
    • strictEqual(value, expected[, message])<\/code>と同じですが、不平等をテストします\nvalue<\/code> expected<\/code>:<\/li>と同じですが、不平等をテストします\n
    • notPropEqual(value, expected[, message])<\/code>:最初のパラメーターが真の値である場(chǎng)合、アサーションが渡されます\npropEqual()<\/code><\/li>:コールバックが例外をスローし、オプションでスローされたエラーを比較するかどうかをテストします\n
    • \nnotStrictEqual(value, expected[, message])<\/code>これらの方法で受け入れられたパラメーターは次のとおりです。\nstrictEqual()<\/code>\n<\/li>
    • :検証する必要がある変數(shù)に保存されている値によって返される値\nok(value[, message])<\/code><\/li>:テストする値。
    • メソッドの場(chǎng)合、これはthrows(function[, expected][, message])<\/code>です\n<\/li><\/ul>:アサーションを説明するオプションの文字列\(zhòng)n

      <\/p>:実行する関數(shù)はエラーを返します\n

        \n
      • 利用可能な方法とパラメーターを理解したので、今度はコードをチェックする時(shí)が來(lái)ました。単一の関數(shù)の複數(shù)のテストを作成する代わりに、より現(xiàn)実的な例を再現(xiàn)しようとします。とにかく、私が示すテストは、完全なテストスイートと見なされるべきではありませんが、どこから始めればよいかという特定のアイデアを提供する必要があります。上記のテストを作成するには、テストするコードを定義する必要があります。この場(chǎng)合、私はこのような文字通りのオブジェクトを定義します:value<\/code>
        \n\n\n  \n  QUnit Example<\/title>\n  <link rel=\"stylesheet\" href=\"qunit-1.14.0.css\">\n<\/head>\n<body>
        <h1><a href="http://ipnx.cn/">亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱</a></h1>\n  <div   class="wjcelcm34c"   id=\"qunit\"><\/div>\n  <div   class="wjcelcm34c"   id=\"qunit-fixture\"><\/div>\n  <??>\n  <??>\n<\/body>\n<\/html><\/pre>\nご覧のとおり、3つの関數(shù)を持つオブジェクトリテラルを定義します。最初のものは任意の數(shù)のパラメーターを受け入れ、最大値を返します。 <p>數(shù)字をパラメーターとして取得し、奇數(shù)の場(chǎng)合はテストします。 <code>max()<\/code>オブジェクトの配列を受け入れます。理想的には、Timestampという名前の屬性があるはずで、この屬性の値に従ってソートする必要があります。これらの関數(shù)の可能なテストセットは次のとおりです。(単語(yǔ)の制限が超えられているため、ここでは長(zhǎng)いテストコードの例は省略されていますが、原則は前の説明と一致しています)<code>isOdd()<\/code>\n<code>sortObj()<\/code><code>isOdd()<\/code>期待の設(shè)定<code>sortObj()<\/code> <\/p>\n<p>テストを作成するとき、ベストプラクティスは、実行すると予想されるアサーションの數(shù)を設(shè)定することです。そうすることで、1つ以上のアサーションが実行されない場(chǎng)合、テストは失敗します。 Qunitフレームワークは、この目的のためのA<strong>メソッドを提供します。この方法は、非同期コードを扱うときに特に役立ちますが、同期関數(shù)をテストするときに使用することをお?jiǎng)幛幛筏蓼埂?<\/strong>メソッドの署名は次のとおりです。\n<\/p>\n<p>ここで、<code>expect()<\/code>パラメーターは、予想されるアサーションの數(shù)を指定します。 (単語(yǔ)の制限を超えているため、テストコードの更新の例もここでは省略されていますが、原則は前の説明と一致しています)<code>expect()<\/code>\n<\/p><pre class='brush:php;toolbar:false;'>QUnit.test(name, testFunction)<\/pre>qunitはじめに結(jié)論<p> <code>assertionsNumber<\/code>\nこのチュートリアルでは、テストの魔法の世界、特にQunitを使用してJavaScriptコードをユニットテストする方法を紹介します。 Qunitフレームワークをセットアップするのがどれほど簡(jiǎn)単か、同期関數(shù)をテストするためにどのような方法が提供されるかを見てきました。さらに、コードをテストするためのフレームワークによって提供される一連のアサーション関數(shù)も學(xué)習(xí)しました。最後に、実行されると予想されるアサーションの數(shù)を設(shè)定することの重要性と、<\/p>メソッドを使用してそれらを設(shè)定する方法について言及しました。この投稿を楽しんだことを願(yuàn)っています。Qunitをプロジェクトに統(tǒng)合することを検討してください。 (単語(yǔ)の制限を超えているため、FAQの部分はここでは省略されています)<p><\/p>"}	</script>
        	
        <meta http-equiv="Cache-Control" content="no-transform" />
        <meta http-equiv="Cache-Control" content="no-siteapp" />
        <script>var V_PATH="/";window.onerror=function(){ return true; };</script>
        </head>
        
        <body data-commit-time="2023-12-28T14:50:12+08:00" class="editor_body body2_2">
        	<link rel="stylesheet" type="text/css" href="/static/csshw/stylehw.css">
        <header>
            <div   id="wjcelcm34c"   class="head">
                <div   id="wjcelcm34c"   class="haed_left">
                    <div   id="wjcelcm34c"   class="haed_logo">
                        <a href="http://ipnx.cn/ja/" title="" class="haed_logo_a">
                            <img src="/static/imghw/logo.png" alt="" class="haed_logoimg">
                        </a>
                    </div>
                    <div   id="wjcelcm34c"   class="head_nav">
                        <div   id="wjcelcm34c"   class="head_navs">
                            <a href="javascript:;" title="コミュニティ" class="head_nava head_nava-template1">コミュニティ</a>
                            <div   class="wjcelcm34c"   id="dropdown-template1" style="display: none;">
                                <div   id="wjcelcm34c"   class="languagechoose">
                                    <a href="http://ipnx.cn/ja/article.html" title="記事" class="languagechoosea on">記事</a>
                                    <a href="http://ipnx.cn/ja/faq/zt" title="トピックス" class="languagechoosea">トピックス</a>
                                    <a href="http://ipnx.cn/ja/wenda.html" title="に質(zhì)問(wèn)" class="languagechoosea">に質(zhì)問(wèn)</a>
                                </div>
                            </div>
                        </div>
        
                        <div   id="wjcelcm34c"   class="head_navs">
                            <a href="javascript:;" title="學(xué)ぶ" class="head_nava head_nava-template1_1">學(xué)ぶ</a>
                            <div   class="wjcelcm34c"   id="dropdown-template1_1" style="display: none;">
                                <div   id="wjcelcm34c"   class="languagechoose">
                                    <a href="http://ipnx.cn/ja/course.html" title="コース" class="languagechoosea on">コース</a>
                                    <a href="http://ipnx.cn/ja/dic/" title="プログラミング辭典" class="languagechoosea">プログラミング辭典</a>
                                </div>
                            </div>
                        </div>
        
                        <div   id="wjcelcm34c"   class="head_navs">
                            <a href="javascript:;" title="ツールライブラリ" class="head_nava head_nava-template1_2">ツールライブラリ</a>
                            <div   class="wjcelcm34c"   id="dropdown-template1_2" style="display: none;">
                                <div   id="wjcelcm34c"   class="languagechoose">
                                    <a href="http://ipnx.cn/ja/toolset/development-tools" title="開発ツール" class="languagechoosea on">開発ツール</a>
                                    <a href="http://ipnx.cn/ja/toolset/website-source-code" title="公式サイト" class="languagechoosea">公式サイト</a>
                                    <a href="http://ipnx.cn/ja/toolset/php-libraries" title="PHP ライブラリ" class="languagechoosea">PHP ライブラリ</a>
                                    <a href="http://ipnx.cn/ja/toolset/js-special-effects" title="JS特殊効果" class="languagechoosea on">JS特殊効果</a>
                                    <a href="http://ipnx.cn/ja/toolset/website-materials" title="サイト素材" class="languagechoosea on">サイト素材</a>
                                    <a href="http://ipnx.cn/ja/toolset/extension-plug-ins" title="拡張プラグイン" class="languagechoosea on">拡張プラグイン</a>
                                </div>
                            </div>
                        </div>
        
                        <div   id="wjcelcm34c"   class="head_navs">
                            <a href="http://ipnx.cn/ja/ai" title="AIツール" class="head_nava head_nava-template1_3">AIツール</a>
                        </div>
        
                        <div   id="wjcelcm34c"   class="head_navs">
                            <a href="javascript:;" title="レジャー" class="head_nava head_nava-template1_3">レジャー</a>
                            <div   class="wjcelcm34c"   id="dropdown-template1_3" style="display: none;">
                                <div   id="wjcelcm34c"   class="languagechoose">
                                    <a href="http://ipnx.cn/ja/game" title="ゲームのダウンロード" class="languagechoosea on">ゲームのダウンロード</a>
                                    <a href="http://ipnx.cn/ja/mobile-game-tutorial/" title="ゲームのチュートリアル" class="languagechoosea">ゲームのチュートリアル</a>
        
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                            <div   id="wjcelcm34c"   class="head_search">
                        <input id="key_words"  onkeydown="if (event.keyCode == 13) searchs('ja')" class="search-input" type="text" autocomplete="off" name="keywords" required="required" placeholder="Block,address,transaction,news" value="">
                        <a href="javascript:;" title="検索"  onclick="searchs('ja')"><img src="/static/imghw/find.png" alt="検索"></a>
                    </div>
                        <div   id="wjcelcm34c"   class="head_right">
                    <div   id="wjcelcm34c"   class="haed_language">
                        <a href="javascript:;" class="layui-btn haed_language_btn">日本語(yǔ)<i class="layui-icon layui-icon-triangle-d"></i></a>
                        <div   class="wjcelcm34c"   id="dropdown-template" style="display: none;">
                            <div   id="wjcelcm34c"   class="languagechoose">
                                                        <a href="javascript:setlang('zh-cn');" title="簡(jiǎn)體中文" class="languagechoosea">簡(jiǎn)體中文</a>
                                                        <a href="javascript:setlang('en');" title="English" class="languagechoosea">English</a>
                                                        <a href="javascript:setlang('zh-tw');" title="繁體中文" class="languagechoosea">繁體中文</a>
                                                        <a href="javascript:;" title="日本語(yǔ)" class="languagechoosea">日本語(yǔ)</a>
                                                        <a href="javascript:setlang('ko');" title="???" class="languagechoosea">???</a>
                                                        <a href="javascript:setlang('ms');" title="Melayu" class="languagechoosea">Melayu</a>
                                                        <a href="javascript:setlang('fr');" title="Fran?ais" class="languagechoosea">Fran?ais</a>
                                                        <a href="javascript:setlang('de');" title="Deutsch" class="languagechoosea">Deutsch</a>
                                                    </div>
                        </div>
                    </div>
                    <span id="wjcelcm34c"    class="head_right_line"></span>
                                    <div style="display: block;" id="login" class="haed_login ">
                            <a href="javascript:;"  title="Login" class="haed_logina ">Login</a>
                        </div>
                        <div style="display: block;" id="reg" class="head_signup login">
                            <a href="javascript:;"  title="singup" class="head_signupa">singup</a>
                        </div>
                    
                </div>
            </div>
        </header>
        
        	
        	<main>
        		<div   id="wjcelcm34c"   class="Article_Details_main">
        			<div   id="wjcelcm34c"   class="Article_Details_main1">
        							<div   id="wjcelcm34c"   class="Article_Details_main1M">
        					<div   id="wjcelcm34c"   class="phpgenera_Details_mainL1">
        						<a href="http://ipnx.cn/ja/" title="ホームページ"
        							class="phpgenera_Details_mainL1a">ホームページ</a>
        						<img src="/static/imghw/top_right.png" alt="" />
        												<a href="http://ipnx.cn/ja/web-designer.html"
        							class="phpgenera_Details_mainL1a">ウェブフロントエンド</a>
        						<img src="/static/imghw/top_right.png" alt="" />
        												<a href="http://ipnx.cn/ja/js-tutorial.html"
        							class="phpgenera_Details_mainL1a">jsチュートリアル</a>
        						<img src="/static/imghw/top_right.png" alt="" />
        						<span>Qunitを始めましょう</span>
        					</div>
        					
        					<div   id="wjcelcm34c"   class="Articlelist_txts">
        						<div   id="wjcelcm34c"   class="Articlelist_txts_info">
        							<h1 class="Articlelist_txts_title">Qunitを始めましょう</h1>
        							<div   id="wjcelcm34c"   class="Articlelist_txts_info_head">
        								<div   id="wjcelcm34c"   class="author_info">
        									<a href="http://ipnx.cn/ja/member/1468494.html"  class="author_avatar">
        									<img class="lazy"  data-src="https://img.php.cn/upload/avatar/000/000/001/66ea812815a39919.png" src="/static/imghw/default1.png" alt="Jennifer Aniston">
        									</a>
        									<div   id="wjcelcm34c"   class="author_detail">
        																			<a href="http://ipnx.cn/ja/member/1468494.html" class="author_name">Jennifer Aniston</a>
                                        										</div>
        								</div>
                        			</div>
        							<span id="wjcelcm34c"    class="Articlelist_txts_time">Feb 21, 2025 pm	 12:12 PM</span>
        														
        						</div>
        					</div>
        					<hr />
        					<div   id="wjcelcm34c"   class="article_main php-article">
        						<div   id="wjcelcm34c"   class="article-list-left detail-content-wrap content">
        						<ins class="adsbygoogle"
        							style="display:block; text-align:center;"
        							data-ad-layout="in-article"
        							data-ad-format="fluid"
        							data-ad-client="ca-pub-5902227090019525"
        							data-ad-slot="3461856641">
        						</ins>
        						
        
        					<p> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174011113685793.jpg" class="lazy" alt="Getting Started with QUnit "></p>
        <p>ソフトウェアテストは、予想される出力と特定の入力セットの実際の出力の違いを検出するソフトウェアを評(píng)価するプロセスです。テスト、特にユニットテストは、すべての開発者の生活の重要な部分でなければなりません。殘念ながら、多くの開発者は活動(dòng)を恐れているようです。 JavaScriptでは、多くのフレームワークからコードベースをテストすることができます。たとえば、Mocha、Selenium、およびQunit。この記事では、Qunitを紹介します。 Qunitは、JQueryチームによって開発および維持された単體テストフレームワークであり、JQueryやJQuery UIなどのプロジェクトにも背後にあります。 </p>
        <p><strong>キーポイント</strong></p>
        <ul>
        <li> QunitはjQueryチームによって開発および維持されており、使いやすさとセットアップのシンプルさのために人気のJavaScriptユニットテストフレームワークです。 </li>
        <li>Qunitを開始するには、Qunit WebサイトからJavaScriptおよびCSSファイルの最新バージョンをダウンロードし、HTMLファイルに含めてください。 </li>
        <li> Qunitは、同期コードの場(chǎng)合は<code>QUnit.test()</code>、非同期コードの新しいテストを作成する2つの方法を提供します。これらのテストには、コードが期待どおりに機(jī)能することを確認(rèn)するアサーションが含まれています。 <code>QUnit.asyncTest()</code>
        </li>Qunitは、<li>、<code>deepEqual()</code>、<code>equal()</code>、<code>notDeepEqual()</code>、<code>notEqual()</code>、<code>propEqual()</code>、<code>strictEqual()</code>、<code>notPropEqual()</code>、<code>notStrictEqual()</code>、<code>ok()</code>、<code>throws()</code>、</li>などのさまざまなアサーション方法を提供します。 、<li>、<code>expect()</code>、</li>、</ul>。各方法には特定の目的があり、特定のパラメーターを受け入れます。 <p>
        <strong> Qunitでテストを作成する場(chǎng)合、ベストプラクティスは、</strong>メソッドを使用して実行されるアサーションの數(shù)を設(shè)定することです。これにより、すべてのアサーションが実行され、1つ以上のアサーションが実行されない場(chǎng)合、テストが失敗します。 </p>
        <p>
        </p>
        設(shè)定qunit 
        多くの開発者がQunitを使用する主な理由の1つは、使いやすさです。このフレームワークを始めることは非常に簡(jiǎn)単で、數(shù)時(shí)間でメインの概念をマスターできます。 Qunitを使用する最初のステップは、明らかにダウンロードすることから始めることです。これを行うには、いくつかの方法があります。ウェブサイトから手動(dòng)でダウンロードしたり、CDNを使用したり、Bowerを使用したり、NPMを使用したりします。私のアドバイスは、シンプルなライブデモを開発していない限り、コードをテストするためにCDNに頼ってはいけないということです。したがって、他のオプションに固執(zhí)します。この記事では、前提條件(BowerとNPMを読む)を設(shè)定したくないので、最初のアプローチを取ります。したがって、QunitのWebサイトにアクセスして、JavaScriptファイル(Qunit-1.14.0.jsという名前)とCSSファイル(Qunit-1.14.0.cssという名前)の最新バージョンをダウンロードします。それらをindex.htmlも作成するフォルダーに入れます。このファイルでは、Webサイトのホームページに表示されるHTMLコードを配置します。便利なため、以下に繰り返します。 <pre class='brush:php;toolbar:false;'><!DOCTYPE html>
        <html>
        <head>
          <meta charset="utf-8">
          <title>QUnit Example</title>
          <link rel="stylesheet" href="qunit-1.14.0.css">
        </head>
        <body>
          <div id="qunit"></div>
          <div id="qunit-fixture"></div>
          <??>
          <??>
        </body>
        </html></pre>
        <p>ご覧のとおり、このコードはCDNを使用してCSSとJavaScriptファイルを含めます。したがって、リンクを更新して、以前にダウンロードしたファイルを含める必要があります。マークには、いくつかの<code><div></code>が配置されているのがわかります。最初のものには、そのIDとしてQunitがあり、フレームワークで使用されているユーザーインターフェイスを表示し、テスト結(jié)果が表示されます。 IDがqunit-fixtureである2番目の<code><div></code>は、(開発者)が使用する必要があります。この要素により、開発者は、各テストの後にDOMのクリーンアップを心配することなく、DOMから要素を追加、編集、または削除するコードをテストできます。このコードによって作成された要素をこの<code><div></code>に配置すると、Qunitがリセットを処理します。最後に、テストを含むファイルを表すtests.jsファイルを含めます。私のアドバイスは、実際のプロジェクトを操作するときにファイルを使用してテストを保存することです。このチュートリアル用に作成したライブデモでは、JSBINを使用しましたが、ファイルのアップロードを許可しませんでした。したがって、デモでは、テストコードに巻き込まれたことがわかります。各セクションにタグを付けることの意味を理解したので、ブラウザのindex.htmlページを開いて、何が起こるかを確認(rèn)します。すべてがうまくいけば、以下に示すようにライブデモインターフェイスが表示されます。これはJSBIN:QUNITの例としても提供されます。この段階では、當(dāng)社に関連するこのインターフェイスの唯一の部分は、Qunitがテストの処理に費(fèi)やす時(shí)間、定義されたアサーションの數(shù)、および合格して失敗したテストの數(shù)を示す部分です。上記のデモは、テストを定義していないことを示しています。この問(wèn)題を解決しましょう。 </p>
        <p><strong>qunit </strong></p>を使用してテストを作成する方法
        <p> Qunitは、新しいテストを作成する2つの方法を提供します:<code>QUnit.test()</code>と<code>QUnit.asyncTest()</code>。最初のものはコードを同期してテストするために使用され、2番目のものは非同期コードをテストするために使用されます。このセクションでは、同期コードのテストを作成する方法について説明します。 <code>QUnit.test()</code>メソッドの署名は次のとおりです。
        </p>
        <pre class='brush:php;toolbar:false;'>QUnit.test(name, testFunction)</pre>最初のパラメーター<p>は、作成されたテストを識(shí)別するのに役立つ文字列です。 2番目のパラメーター<code>name</code>は、フレームワークが実行するアサーションを含む関數(shù)です。フレームワークは、すべてのQunitのアサーション方法を公開するこの関數(shù)にパラメーターを渡します。この説明をコードに変換すると、次のコードでtests.jsファイルを更新できます。
        <code>testFunction</code>
        </p>このコードは、文字列「私の最初のテスト」と空のボディを持つ関數(shù)によって識(shí)別された新しいテストを作成します。アサーションなしでテストを追加するのは役に立ちません。この問(wèn)題を解決するには、Qunitで利用可能なアサーション方法を?qū)Wぶ必要があります。 <pre class='brush:php;toolbar:false;'>QUnit.test('我的第一個(gè)測(cè)試', function(assert) {
           // 斷言在這里...
        });</pre>
        <p></p>qunitのアサーション方法<p> <strong>
        </strong>アサーションはソフトウェアテストの中心にあります。彼らは、私たちのコードが期待どおりに機(jī)能することを確認(rèn)することができます。 Qunitには、これらの期待を検証する多くの方法があります。テストでは、</p>メソッドに渡された関數(shù)のパラメーターによってアクセスできます(前の例では<p>)。次のリストは、利用可能な方法とその機(jī)能と署名を要約しています。<ul>
        <li><code>deepEqual(value, expected[, message])</code>:すべてのJavaScriptタイプで機(jī)能する再帰的な厳格な比較。 <code>value</code>と<code>expected</code>は、プロパティと値の點(diǎn)で同じであり、同じプロトタイプを持っている場(chǎng)合、</li>
        <li><code>equal(value, expected[, message])</code>:<code>value</code>は、非厳密な比較(==)検証を使用して提供されるパラメーターに等しくなります。 <code>expected</code>
        </li> <li>:<code>notDeepEqual(value, expected[, message])</code>と同じですが、不平等をテストします
        <code>deepEqual()</code> </li>:<li>と同じですが、不平等をテストします
        <code>notEqual(value, expected[, message])</code><code>equal()</code>:オブジェクトのプロパティと値の厳密な比較。すべての屬性と値が同じ場(chǎng)合、アサーションが渡されます
        </li><li>:厳密な比較(===)検証を使用して、<code>propEqual(value, expected[, message])</code>に等しいパラメーターを提供します
        </li> <li>:<code>strictEqual(value, expected[, message])</code>と同じですが、不平等をテストします
        <code>value</code> <code>expected</code>:</li>と同じですが、不平等をテストします
        <li><code>notPropEqual(value, expected[, message])</code>:最初のパラメーターが真の値である場(chǎng)合、アサーションが渡されます
        <code>propEqual()</code></li>:コールバックが例外をスローし、オプションでスローされたエラーを比較するかどうかをテストします
        <li>
        <code>notStrictEqual(value, expected[, message])</code>これらの方法で受け入れられたパラメーターは次のとおりです。
        <code>strictEqual()</code>
        </li><li>:検証する必要がある変數(shù)に保存されている値によって返される値
        <code>ok(value[, message])</code></li>:テストする値。 <li>メソッドの場(chǎng)合、これは<code>throws(function[, expected][, message])</code>です
        </li></ul>:アサーションを説明するオプションの文字列
        <p></p>:実行する関數(shù)はエラーを返します
        <ul>
        <li>利用可能な方法とパラメーターを理解したので、今度はコードをチェックする時(shí)が來(lái)ました。単一の関數(shù)の複數(shù)のテストを作成する代わりに、より現(xiàn)実的な例を再現(xiàn)しようとします。とにかく、私が示すテストは、完全なテストスイートと見なされるべきではありませんが、どこから始めればよいかという特定のアイデアを提供する必要があります。上記のテストを作成するには、テストするコードを定義する必要があります。この場(chǎng)合、私はこのような文字通りのオブジェクトを定義します:<code>value</code><pre class='brush:php;toolbar:false;'><!DOCTYPE html>
        <html>
        <head>
          <meta charset="utf-8">
          <title>QUnit Example</title>
          <link rel="stylesheet" href="qunit-1.14.0.css">
        </head>
        <body>
          <div id="qunit"></div>
          <div id="qunit-fixture"></div>
          <??>
          <??>
        </body>
        </html></pre>
        ご覧のとおり、3つの関數(shù)を持つオブジェクトリテラルを定義します。最初のものは任意の數(shù)のパラメーターを受け入れ、最大値を返します。 <p>數(shù)字をパラメーターとして取得し、奇數(shù)の場(chǎng)合はテストします。 <code>max()</code>オブジェクトの配列を受け入れます。理想的には、Timestampという名前の屬性があるはずで、この屬性の値に従ってソートする必要があります。これらの関數(shù)の可能なテストセットは次のとおりです。(単語(yǔ)の制限が超えられているため、ここでは長(zhǎng)いテストコードの例は省略されていますが、原則は前の説明と一致しています)<code>isOdd()</code>
        <code>sortObj()</code><code>isOdd()</code>期待の設(shè)定<code>sortObj()</code> </p>
        <p>テストを作成するとき、ベストプラクティスは、実行すると予想されるアサーションの數(shù)を設(shè)定することです。そうすることで、1つ以上のアサーションが実行されない場(chǎng)合、テストは失敗します。 Qunitフレームワークは、この目的のためのA<strong>メソッドを提供します。この方法は、非同期コードを扱うときに特に役立ちますが、同期関數(shù)をテストするときに使用することをお?jiǎng)幛幛筏蓼埂?</strong>メソッドの署名は次のとおりです。
        </p>
        <p>ここで、<code>expect()</code>パラメーターは、予想されるアサーションの數(shù)を指定します。 (単語(yǔ)の制限を超えているため、テストコードの更新の例もここでは省略されていますが、原則は前の説明と一致しています)<code>expect()</code>
        </p><pre class='brush:php;toolbar:false;'>QUnit.test(name, testFunction)</pre>qunitはじめに結(jié)論<p> <code>assertionsNumber</code>
        このチュートリアルでは、テストの魔法の世界、特にQunitを使用してJavaScriptコードをユニットテストする方法を紹介します。 Qunitフレームワークをセットアップするのがどれほど簡(jiǎn)単か、同期関數(shù)をテストするためにどのような方法が提供されるかを見てきました。さらに、コードをテストするためのフレームワークによって提供される一連のアサーション関數(shù)も學(xué)習(xí)しました。最後に、実行されると予想されるアサーションの數(shù)を設(shè)定することの重要性と、</p>メソッドを使用してそれらを設(shè)定する方法について言及しました。この投稿を楽しんだことを願(yuàn)っています。Qunitをプロジェクトに統(tǒng)合することを検討してください。 (単語(yǔ)の制限を超えているため、FAQの部分はここでは省略されています)<p></p><p>以上がQunitを始めましょうの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。</p>
        
        
        						</div>
        					</div>
        					<div   id="wjcelcm34c"   class="wzconShengming_sp">
        						<div   id="wjcelcm34c"   class="bzsmdiv_sp">このウェブサイトの聲明</div>
        						<div>この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。</div>
        					</div>
        				</div>
        
        				<ins class="adsbygoogle"
             style="display:block"
             data-ad-format="autorelaxed"
             data-ad-client="ca-pub-5902227090019525"
             data-ad-slot="2507867629"></ins>
        
        
        
        				<div   id="wjcelcm34c"   class="AI_ToolDetails_main4sR">
        
        
        				<ins class="adsbygoogle"
                style="display:block"
                data-ad-client="ca-pub-5902227090019525"
                data-ad-slot="3653428331"
                data-ad-format="auto"
                data-full-width-responsive="true"></ins>
            
        
        
        					<!-- <div   id="wjcelcm34c"   class="phpgenera_Details_mainR4">
        						<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
        							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
        								<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        									onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        									src="/static/imghw/hotarticle2.png" alt="" />
        								<h2>人気の記事</h2>
        							</div>
        							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottom">
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796832397.html" title="グラスワンダービルドガイド|ウマゴサメはかなりダービーです" class="phpgenera_Details_mainR4_bottom_title">グラスワンダービルドガイド|ウマゴサメはかなりダービーです</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>4週間前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796833110.html" title="<??>:森の99泊 - すべてのバッジとそれらのロックを解除する方法" class="phpgenera_Details_mainR4_bottom_title"><??>:森の99泊 - すべてのバッジとそれらのロックを解除する方法</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>3週間前</span>
        										<span>By DDD</span>
        									</div>
        								</div>
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796831605.html" title="Uma Musume Pretty Derby Bannerスケジュール(2025年7月)" class="phpgenera_Details_mainR4_bottom_title">Uma Musume Pretty Derby Bannerスケジュール(2025年7月)</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>4週間前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796831905.html" title="Windowsセキュリティは空白であるか、オプションを表示しません" class="phpgenera_Details_mainR4_bottom_title">Windowsセキュリティは空白であるか、オプションを表示しません</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>4週間前</span>
        										<span>By 下次還敢</span>
        									</div>
        								</div>
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796836699.html" title="船と墓のためのRimworld Odyssey溫度ガイド" class="phpgenera_Details_mainR4_bottom_title">船と墓のためのRimworld Odyssey溫度ガイド</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>3週間前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        														</div>
        							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
        								<a href="http://ipnx.cn/ja/article.html">もっと見る</a>
        							</div>
        						</div>
        					</div> -->
        
        
        											<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3">
        							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
        								<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/hottools2.png" alt="" />
        									<h2>ホットAIツール</h2>
        								</div>
        								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_bottom">
        																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173410641626608.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Undress AI Tool" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_title">
        													<h3>Undress AI Tool</h3>
        												</a>
        												<p>脫衣畫像を無(wú)料で</p>
        											</div>
        										</div>
        																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411540686492.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Undresser.AI Undress" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_title">
        													<h3>Undresser.AI Undress</h3>
        												</a>
        												<p>リアルなヌード寫真を作成する AI 搭載アプリ</p>
        											</div>
        										</div>
        																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411552797167.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="AI Clothes Remover" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_title">
        													<h3>AI Clothes Remover</h3>
        												</a>
        												<p>寫真から衣服を削除するオンライン AI ツール。</p>
        											</div>
        										</div>
        																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411529149311.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Clothoff.io" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_title">
        													<h3>Clothoff.io</h3>
        												</a>
        												<p>AI衣類リムーバー</p>
        											</div>
        										</div>
        																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/ai_manual/001/246/273/173414504068133.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Video Face Swap" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_title">
        													<h3>Video Face Swap</h3>
        												</a>
        												<p>完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。</p>
        											</div>
        										</div>
        																</div>
        								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
        									<a href="http://ipnx.cn/ja/ai">もっと見る</a>
        								</div>
        							</div>
        						</div>
        					
        
        
        					<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4">
        						<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
        							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
        								<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        									onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        									src="/static/imghw/hotarticle2.png" alt="" />
        								<h2>人気の記事</h2>
        							</div>
        							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottom">
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796832397.html" title="グラスワンダービルドガイド|ウマゴサメはかなりダービーです" class="phpgenera_Details_mainR4_bottom_title">グラスワンダービルドガイド|ウマゴサメはかなりダービーです</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>4週間前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796833110.html" title="<??>:森の99泊 - すべてのバッジとそれらのロックを解除する方法" class="phpgenera_Details_mainR4_bottom_title"><??>:森の99泊 - すべてのバッジとそれらのロックを解除する方法</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>3週間前</span>
        										<span>By DDD</span>
        									</div>
        								</div>
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796831605.html" title="Uma Musume Pretty Derby Bannerスケジュール(2025年7月)" class="phpgenera_Details_mainR4_bottom_title">Uma Musume Pretty Derby Bannerスケジュール(2025年7月)</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>4週間前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796831905.html" title="Windowsセキュリティは空白であるか、オプションを表示しません" class="phpgenera_Details_mainR4_bottom_title">Windowsセキュリティは空白であるか、オプションを表示しません</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>4週間前</span>
        										<span>By 下次還敢</span>
        									</div>
        								</div>
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/1796836699.html" title="船と墓のためのRimworld Odyssey溫度ガイド" class="phpgenera_Details_mainR4_bottom_title">船と墓のためのRimworld Odyssey溫度ガイド</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>3週間前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        														</div>
        							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
        								<a href="http://ipnx.cn/ja/article.html">もっと見る</a>
        							</div>
        						</div>
        					</div>
        
        
        											<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3">
        							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
        								<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/hottools2.png" alt="" />
        									<h2>ホットツール</h2>
        								</div>
        								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_bottom">
        																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/toolset/development-tools/92" title="メモ帳++7.3.1" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58ab96f0f39f7357.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="メモ帳++7.3.1" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/toolset/development-tools/92" title="メモ帳++7.3.1" class="phpmain_tab2_mids_title">
        													<h3>メモ帳++7.3.1</h3>
        												</a>
        												<p>使いやすく無(wú)料のコードエディター</p>
        											</div>
        										</div>
        																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/toolset/development-tools/93" title="SublimeText3 中國(guó)語(yǔ)版" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58ab97a3baad9677.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="SublimeText3 中國(guó)語(yǔ)版" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/toolset/development-tools/93" title="SublimeText3 中國(guó)語(yǔ)版" class="phpmain_tab2_mids_title">
        													<h3>SublimeText3 中國(guó)語(yǔ)版</h3>
        												</a>
        												<p>中國(guó)語(yǔ)版、とても使いやすい</p>
        											</div>
        										</div>
        																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/toolset/development-tools/121" title="ゼンドスタジオ 13.0.1" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58ab97ecd1ab2670.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="ゼンドスタジオ 13.0.1" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/toolset/development-tools/121" title="ゼンドスタジオ 13.0.1" class="phpmain_tab2_mids_title">
        													<h3>ゼンドスタジオ 13.0.1</h3>
        												</a>
        												<p>強(qiáng)力な PHP 統(tǒng)合開発環(huán)境</p>
        											</div>
        										</div>
        																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/toolset/development-tools/469" title="ドリームウィーバー CS6" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58d0e0fc74683535.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="ドリームウィーバー CS6" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/toolset/development-tools/469" title="ドリームウィーバー CS6" class="phpmain_tab2_mids_title">
        													<h3>ドリームウィーバー CS6</h3>
        												</a>
        												<p>ビジュアル Web 開発ツール</p>
        											</div>
        										</div>
        																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
        											<a href="http://ipnx.cn/ja/toolset/development-tools/500" title="SublimeText3 Mac版" class="phpmain_tab2_mids_top_img">
        												<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        													class="lazy"  data-src="https://img.php.cn/upload/manual/000/000/001/58d34035e2757995.png?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="SublimeText3 Mac版" />
        											</a>
        											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
        												<a href="http://ipnx.cn/ja/toolset/development-tools/500" title="SublimeText3 Mac版" class="phpmain_tab2_mids_title">
        													<h3>SublimeText3 Mac版</h3>
        												</a>
        												<p>神レベルのコード編集ソフト(SublimeText3)</p>
        											</div>
        										</div>
        																	</div>
        								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
        									<a href="http://ipnx.cn/ja/ai">もっと見る</a>
        								</div>
        							</div>
        						</div>
        										
        
        					
        					<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4">
        						<div   id="wjcelcm34c"   class="phpmain1_4R_readrank">
        							<div   id="wjcelcm34c"   class="phpmain1_4R_readrank_top">
        								<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        									onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        									src="/static/imghw/hotarticle2.png" alt="" />
        								<h2>ホットトピック</h2>
        							</div>
        							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottom">
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/laravel-tutori" title="Laravel チュートリアル" class="phpgenera_Details_mainR4_bottom_title">Laravel チュートリアル</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/eyess.png" alt="" />
        											<span>1597</span>
        										</div>
        										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/tiezi.png" alt="" />
        											<span>29</span>
        										</div>
        									</div>
        								</div>
        															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://ipnx.cn/ja/faq/php-tutorial" title="PHP チュートリアル" class="phpgenera_Details_mainR4_bottom_title">PHP チュートリアル</a>
        									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
        										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/eyess.png" alt="" />
        											<span>1488</span>
        										</div>
        										<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/tiezi.png" alt="" />
        											<span>72</span>
        										</div>
        									</div>
        								</div>
        														</div>
        							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
        								<a href="http://ipnx.cn/ja/faq/zt">もっと見る</a>
        							</div>
        						</div>
        					</div>
        				</div>
        			</div>
        							<div   id="wjcelcm34c"   class="Article_Details_main2">
        					<div   id="wjcelcm34c"   class="phpgenera_Details_mainL4">
        						<div   id="wjcelcm34c"   class="phpmain1_2_top">
        							<a href="javascript:void(0);" class="phpmain1_2_top_title">Related knowledge<img
        									src="/static/imghw/index2_title2.png" alt="" /></a>
        						</div>
        						<div   id="wjcelcm34c"   class="phpgenera_Details_mainL4_info">
        
        													<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
        								<a href="http://ipnx.cn/ja/faq/1796836217.html" title="node.jsでHTTPリクエストを作成する方法は?" class="phphistorical_Version2_mids_img">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/431/639/175234432058757.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="node.jsでHTTPリクエストを作成する方法は?" />
        								</a>
        								<a href="http://ipnx.cn/ja/faq/1796836217.html" title="node.jsでHTTPリクエストを作成する方法は?" class="phphistorical_Version2_mids_title">node.jsでHTTPリクエストを作成する方法は?</a>
        								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 13, 2025 am	 02:18 AM</span>
        								<p class="Articlelist_txts_p">node.jsでHTTPリクエストを開始するには、組み込みモジュール、axios、およびnode-fetchを使用する3つの一般的な方法があります。 1.依存関係のない內(nèi)蔵http/httpsモジュールを使用します。これは基本的なシナリオに適していますが、https.get()を使用してデータを取得したり、.write()を介してPOSTリクエストを送信するなど、データステッチとエラーモニタリングの手動(dòng)処理が必要です。 2.Axiosは、約束に基づいたサードパーティライブラリです。簡(jiǎn)潔な構(gòu)文と強(qiáng)力な機(jī)能を備えており、非同期/待ち聲、自動(dòng)JSON変換、インターセプターなどをサポートします。非同期リクエスト操作を簡(jiǎn)素化することをお?jiǎng)幛幛筏蓼埂?3.Node-Fetchは、約束と単純な構(gòu)文に基づいて、ブラウザフェッチに似たスタイルを提供します</p>
        							</div>
        														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
        								<a href="http://ipnx.cn/ja/faq/1796836292.html" title="JavaScriptデータ型:プリミティブ対參照" class="phphistorical_Version2_mids_img">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/431/639/175234579081669.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScriptデータ型:プリミティブ対參照" />
        								</a>
        								<a href="http://ipnx.cn/ja/faq/1796836292.html" title="JavaScriptデータ型:プリミティブ対參照" class="phphistorical_Version2_mids_title">JavaScriptデータ型:プリミティブ対參照</a>
        								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 13, 2025 am	 02:43 AM</span>
        								<p class="Articlelist_txts_p">JavaScriptデータ型は、プリミティブタイプと參照タイプに分割されます。プリミティブタイプには、文字列、數(shù)字、ブール、ヌル、未定義、シンボルが含まれます。値は不変であり、コピーは値を割り當(dāng)てるときにコピーされるため、互いに影響を與えません。オブジェクト、配列、関數(shù)などの參照タイプはメモリアドレスを保存し、同じオブジェクトを指す変數(shù)は互いに影響します。 TypeofとInstanceOFを使用してタイプを決定できますが、TypeOfNullの歴史的な問(wèn)題に注意してください。これらの2種類の違いを理解することは、より安定した信頼性の高いコードを書くのに役立ちます。</p>
        							</div>
        														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
        								<a href="http://ipnx.cn/ja/faq/1796830657.html" title="React vs Angular vs Vue:どのJSフレームワークが最適ですか?" class="phphistorical_Version2_mids_img">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/431/639/175165349052637.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="React vs Angular vs Vue:どのJSフレームワークが最適ですか?" />
        								</a>
        								<a href="http://ipnx.cn/ja/faq/1796830657.html" title="React vs Angular vs Vue:どのJSフレームワークが最適ですか?" class="phphistorical_Version2_mids_title">React vs Angular vs Vue:どのJSフレームワークが最適ですか?</a>
        								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 05, 2025 am	 02:24 AM</span>
        								<p class="Articlelist_txts_p">どのJavaScriptフレームワークが最良の選択ですか?答えは、あなたのニーズに応じて最も適切なものを選択することです。 1.反応は柔軟で無(wú)料で、高いカスタマイズとチームアーキテクチャ機(jī)能を必要とする中規(guī)模および大規(guī)模プロジェクトに適しています。 2。Angularは、エンタープライズレベルのアプリケーションと長(zhǎng)期的なメンテナンスに適した完全なソリューションを提供します。 3. Vueは使いやすく、中小規(guī)模のプロジェクトや迅速な発展に適しています。さらに、既存のテクノロジースタック、チームサイズ、プロジェクトのライフサイクル、およびSSRが必要かどうかは、フレームワークを選択する上で重要な要素でもあります。要するに、絶対に最良のフレームワークはありません。最良の選択は、あなたのニーズに合ったものです。</p>
        							</div>
        														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
        								<a href="http://ipnx.cn/ja/faq/1796832745.html" title="JavaScript Timeオブジェクト、誰(shuí)かがEACTEXE、Google Chromeなどのより高速なWebサイトを構(gòu)築します。" class="phphistorical_Version2_mids_img">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/246/273/173914572643912.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScript Timeオブジェクト、誰(shuí)かがEACTEXE、Google Chromeなどのより高速なWebサイトを構(gòu)築します。" />
        								</a>
        								<a href="http://ipnx.cn/ja/faq/1796832745.html" title="JavaScript Timeオブジェクト、誰(shuí)かがEACTEXE、Google Chromeなどのより高速なWebサイトを構(gòu)築します。" class="phphistorical_Version2_mids_title">JavaScript Timeオブジェクト、誰(shuí)かがEACTEXE、Google Chromeなどのより高速なWebサイトを構(gòu)築します。</a>
        								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 08, 2025 pm	 02:27 PM</span>
        								<p class="Articlelist_txts_p">こんにちは、JavaScript開発者!今週のJavaScriptニュースへようこそ!今週は、DenoとのOracleの商標(biāo)紛爭(zhēng)、新しいJavaScript Timeオブジェクトがブラウザ、Google Chromeアップデート、およびいくつかの強(qiáng)力な開発ツールによってサポートされています。始めましょう! 「JavaScript」の商標(biāo)を登録しようとするDeno Oracleの試みとのOracleの商標(biāo)紛爭(zhēng)は、論爭(zhēng)を引き起こしました。 Node.jsとDenoの作成者であるRyan Dahlは、商標(biāo)をキャンセルするために請(qǐng)願(yuàn)書を提出しました。</p>
        							</div>
        														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
        								<a href="http://ipnx.cn/ja/faq/1796832608.html" title="ハンドリングの約束:javascriptのチェーン、エラー処理、および約束の組み合わせ" class="phphistorical_Version2_mids_img">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175191360175213.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="ハンドリングの約束:javascriptのチェーン、エラー処理、および約束の組み合わせ" />
        								</a>
        								<a href="http://ipnx.cn/ja/faq/1796832608.html" title="ハンドリングの約束:javascriptのチェーン、エラー処理、および約束の組み合わせ" class="phphistorical_Version2_mids_title">ハンドリングの約束:javascriptのチェーン、エラー処理、および約束の組み合わせ</a>
        								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 08, 2025 am	 02:40 AM</span>
        								<p class="Articlelist_txts_p">約束は、JavaScriptで非同期操作を処理するためのコアメカニズムです。チェーンコール、エラー処理、コンビナーの理解は、アプリケーションをマスターするための鍵です。 1.チェーンコールは、.then()を通じて新しい約束を返し、非同期プロセスの連結(jié)を?qū)g現(xiàn)します。それぞれ.then()は以前の結(jié)果を受け取り、値または約束を返すことができます。 2。エラー処理は、.catch()を使用して例外をキャッチしてサイレント障害を回避し、キャッチのデフォルト値を返すためにプロセスを継続する必要があります。 3。promise.all()などの組み合わせ(すべての成功後にのみ成功しました)、promise.race()(最初の完了が返されます)、promise.allsettled()(すべての完了を待っています)</p>
        							</div>
        														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
        								<a href="http://ipnx.cn/ja/faq/1796832618.html" title="キャッシュAPIとは何ですか?また、サービスワーカーでどのように使用されますか?" class="phphistorical_Version2_mids_img">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175191380054750.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="キャッシュAPIとは何ですか?また、サービスワーカーでどのように使用されますか?" />
        								</a>
        								<a href="http://ipnx.cn/ja/faq/1796832618.html" title="キャッシュAPIとは何ですか?また、サービスワーカーでどのように使用されますか?" class="phphistorical_Version2_mids_title">キャッシュAPIとは何ですか?また、サービスワーカーでどのように使用されますか?</a>
        								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 08, 2025 am	 02:43 AM</span>
        								<p class="Articlelist_txts_p">Cacheapiは、ブラウザからネットワークリクエストをキャッシュするツールです。これは、ウェブサイトのパフォーマンスとオフラインエクスペリエンスを改善するために、サービスワーカーと併用することがよくあります。 1.開発者は、スクリプト、スタイルシート、寫真などのリソースを手動(dòng)で保存できるようにします。 2。要求に応じてキャッシュ応答と一致させることができます。 3.特定のキャッシュの削除またはキャッシュ全體のクリアをサポートします。 4.フェッチイベントを聞いているサービスワーカーを介して、キャッシュの優(yōu)先順位またはネットワークの優(yōu)先戦略を?qū)g裝できます。 5.オフラインサポート、繰り返しのアクセス速度の高速化、主要なリソースのプリロード、バックグラウンドアップデートコンテンツによく使用されます。 6.それを使用する場(chǎng)合、キャッシュバージョンの制御、ストレージ制限、およびHTTPキャッシングメカニズムとの違いに注意する必要があります。</p>
        							</div>
        														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
        								<a href="http://ipnx.cn/ja/faq/1796831296.html" title="JavaScriptでのデータ操作のためのArray.Prototypeメソッドを活用します" class="phphistorical_Version2_mids_img">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/253/068/175174058098308.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScriptでのデータ操作のためのArray.Prototypeメソッドを活用します" />
        								</a>
        								<a href="http://ipnx.cn/ja/faq/1796831296.html" title="JavaScriptでのデータ操作のためのArray.Prototypeメソッドを活用します" class="phphistorical_Version2_mids_title">JavaScriptでのデータ操作のためのArray.Prototypeメソッドを活用します</a>
        								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 06, 2025 am	 02:36 AM</span>
        								<p class="Articlelist_txts_p">.map()、.filter()、.reduce()などのJavaScriptアレイ內(nèi)蔵メソッドは、データ処理を簡(jiǎn)素化できます。 1).map()は、要素を1つに変換して新しい配列を生成するために使用されます。 2).filter()は、條件ごとに要素をフィルタリングするために使用されます。 3).reduce()は、データを単一の値として集約するために使用されます。使用すると誤用を避ける必要があり、その結(jié)果、副作用やパフォーマンスの問(wèn)題が発生します。</p>
        							</div>
        														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
        								<a href="http://ipnx.cn/ja/faq/1796832563.html" title="JSラウンドアップ:JavaScriptイベントループに深く潛り込む" class="phphistorical_Version2_mids_img">
        									<img onerror="this.onerror=''; this.src='/static/imghw/default1.png'"
        										src="/static/imghw/default1.png" class="lazy"  data-src="https://img.php.cn/upload/article/001/431/639/175191266081499.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JSラウンドアップ:JavaScriptイベントループに深く潛り込む" />
        								</a>
        								<a href="http://ipnx.cn/ja/faq/1796832563.html" title="JSラウンドアップ:JavaScriptイベントループに深く潛り込む" class="phphistorical_Version2_mids_title">JSラウンドアップ:JavaScriptイベントループに深く潛り込む</a>
        								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 08, 2025 am	 02:24 AM</span>
        								<p class="Articlelist_txts_p">JavaScriptのイベントループは、コールスタック、WebAPIS、およびタスクキューを調(diào)整することにより、非同期操作を管理します。 1.コールスタックは同期コードを?qū)g行し、非同期タスクに遭遇すると、処理のためにWebAPIに引き渡されます。 2。WebAPIがバックグラウンドでタスクを完了した後、コールバックを?qū)潖辘工毳濠`(マクロタスクまたはマイクロタスク)に入れます。 3.イベントループは、コールスタックが空であるかどうかをチェックします??栅螆?chǎng)合、コールバックはキューから取り出され、実行のためにコールスタックに押し込まれます。 4.マイクロタスク(Promise.thenなど)は、マクロタスク(SettimeOutなど)より優(yōu)先されます。 5.イベントループを理解するには、メインスレッドのブロックを避け、コード実行順序を最適化するのに役立ちます。</p>
        							</div>
        													</div>
        
        													<a href="http://ipnx.cn/ja/web-designer.html" class="phpgenera_Details_mainL4_botton">
        								<span>See all articles</span>
        								<img src="/static/imghw/down_right.png" alt="" />
        							</a>
        											</div>
        				</div>
        					</div>
        	</main>
        	<footer>
            <div   id="wjcelcm34c"   class="footer">
                <div   id="wjcelcm34c"   class="footertop">
                    <img src="/static/imghw/logo.png" alt="">
                    <p>福祉オンライン PHP トレーニング,PHP 學(xué)習(xí)者の迅速な成長(zhǎng)を支援します!</p>
                </div>
                <div   id="wjcelcm34c"   class="footermid">
                    <a href="http://ipnx.cn/ja/about/us.html">私たちについて</a>
                    <a href="http://ipnx.cn/ja/about/disclaimer.html">免責(zé)事項(xiàng)</a>
                    <a href="http://ipnx.cn/ja/update/article_0_1.html">Sitemap</a>
                </div>
                <div   id="wjcelcm34c"   class="footerbottom">
                    <p>
                        ? php.cn All rights reserved
                    </p>
                </div>
            </div>
        </footer>
        
        <input type="hidden" id="verifycode" value="/captcha.html">
        
        
        
        
        		<link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all' />
        	
        	
        	
        	
        	
        
        	
        	
        
        
        
        
        
        
        <footer>
        <div class="friendship-link">
        <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p>
        <a href="http://ipnx.cn/" title="亚洲国产日韩欧美一区二区三区">亚洲国产日韩欧美一区二区三区</a>
        
        <div class="friend-links">
        
        
        </div>
        </div>
        
        </footer>
        
        
        <script>
        (function(){
            var bp = document.createElement('script');
            var curProtocol = window.location.protocol.split(':')[0];
            if (curProtocol === 'https') {
                bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
            }
            else {
                bp.src = 'http://push.zhanzhang.baidu.com/push.js';
            }
            var s = document.getElementsByTagName("script")[0];
            s.parentNode.insertBefore(bp, s);
        })();
        </script>
        </body><div id="h2ypd" class="pl_css_ganrao" style="display: none;"><rp id="h2ypd"></rp><style id="h2ypd"><span id="h2ypd"><tr id="h2ypd"><ul id="h2ypd"></ul></tr></span></style><pre id="h2ypd"><form id="h2ypd"><input id="h2ypd"><object id="h2ypd"></object></input></form></pre><small id="h2ypd"><th id="h2ypd"></th></small><optgroup id="h2ypd"></optgroup><ruby id="h2ypd"></ruby><span id="h2ypd"></span><rt id="h2ypd"></rt><div id="h2ypd"></div><input id="h2ypd"><dl id="h2ypd"><tr id="h2ypd"><menuitem id="h2ypd"></menuitem></tr></dl></input><th id="h2ypd"></th><xmp id="h2ypd"></xmp><u id="h2ypd"><strong id="h2ypd"></strong></u><span id="h2ypd"><meter id="h2ypd"></meter></span><acronym id="h2ypd"><big id="h2ypd"></big></acronym><strong id="h2ypd"><p id="h2ypd"><div id="h2ypd"><dd id="h2ypd"></dd></div></p></strong><object id="h2ypd"></object><legend id="h2ypd"><center id="h2ypd"><thead id="h2ypd"></thead></center></legend><form id="h2ypd"><pre id="h2ypd"></pre></form><strong id="h2ypd"><th id="h2ypd"><div id="h2ypd"><big id="h2ypd"></big></div></th></strong><del id="h2ypd"></del><p id="h2ypd"><strike id="h2ypd"><center id="h2ypd"><xmp id="h2ypd"></xmp></center></strike></p><listing id="h2ypd"><dfn id="h2ypd"><strong id="h2ypd"></strong></dfn></listing><thead id="h2ypd"><sub id="h2ypd"></sub></thead><blockquote id="h2ypd"><font id="h2ypd"><track id="h2ypd"></track></font></blockquote><code id="h2ypd"></code><menu id="h2ypd"></menu><ul id="h2ypd"></ul><delect id="h2ypd"><button id="h2ypd"><nobr id="h2ypd"></nobr></button></delect><tbody id="h2ypd"><acronym id="h2ypd"></acronym></tbody><samp id="h2ypd"></samp><td id="h2ypd"></td><sub id="h2ypd"></sub><listing id="h2ypd"><p id="h2ypd"><span id="h2ypd"><center id="h2ypd"></center></span></p></listing><center id="h2ypd"></center><blockquote id="h2ypd"><font id="h2ypd"><em id="h2ypd"><th id="h2ypd"></th></em></font></blockquote><progress id="h2ypd"></progress><menu id="h2ypd"></menu><th id="h2ypd"><i id="h2ypd"></i></th><legend id="h2ypd"></legend><dd id="h2ypd"></dd><strong id="h2ypd"><input id="h2ypd"><dl id="h2ypd"></dl></input></strong><address id="h2ypd"></address><option id="h2ypd"></option><abbr id="h2ypd"><strong id="h2ypd"><label id="h2ypd"></label></strong></abbr><pre id="h2ypd"><ul id="h2ypd"><li id="h2ypd"><video id="h2ypd"></video></li></ul></pre><form id="h2ypd"><pre id="h2ypd"></pre></form><fieldset id="h2ypd"><tfoot id="h2ypd"><acronym id="h2ypd"></acronym></tfoot></fieldset><tbody id="h2ypd"></tbody><dd id="h2ypd"><sup id="h2ypd"></sup></dd><rt id="h2ypd"></rt><em id="h2ypd"></em><sup id="h2ypd"><tr id="h2ypd"><dfn id="h2ypd"><fieldset id="h2ypd"></fieldset></dfn></tr></sup><center id="h2ypd"></center><fieldset id="h2ypd"></fieldset><li id="h2ypd"><style id="h2ypd"><object id="h2ypd"><meter id="h2ypd"></meter></object></style></li><option id="h2ypd"><nobr id="h2ypd"><legend id="h2ypd"><td id="h2ypd"></td></legend></nobr></option><rp id="h2ypd"><abbr id="h2ypd"></abbr></rp><em id="h2ypd"><track id="h2ypd"></track></em><pre id="h2ypd"></pre><big id="h2ypd"></big><dfn id="h2ypd"><abbr id="h2ypd"></abbr></dfn><acronym id="h2ypd"><pre id="h2ypd"></pre></acronym><dl id="h2ypd"><td id="h2ypd"><center id="h2ypd"></center></td></dl><menuitem id="h2ypd"><ruby id="h2ypd"></ruby></menuitem><delect id="h2ypd"><dfn id="h2ypd"><abbr id="h2ypd"></abbr></dfn></delect><center id="h2ypd"></center><th id="h2ypd"><blockquote id="h2ypd"><b id="h2ypd"></b></blockquote></th><progress id="h2ypd"><del id="h2ypd"><abbr id="h2ypd"><code id="h2ypd"></code></abbr></del></progress><output id="h2ypd"></output><table id="h2ypd"></table><blockquote id="h2ypd"></blockquote><form id="h2ypd"></form><table id="h2ypd"><cite id="h2ypd"><div id="h2ypd"><thead id="h2ypd"></thead></div></cite></table><table id="h2ypd"><legend id="h2ypd"><td id="h2ypd"><thead id="h2ypd"></thead></td></legend></table><source id="h2ypd"><dd id="h2ypd"><sup id="h2ypd"><rp id="h2ypd"></rp></sup></dd></source><rp id="h2ypd"></rp><object id="h2ypd"><strike id="h2ypd"><progress id="h2ypd"><small id="h2ypd"></small></progress></strike></object><ol id="h2ypd"></ol><pre id="h2ypd"><abbr id="h2ypd"><var id="h2ypd"><label id="h2ypd"></label></var></abbr></pre><track id="h2ypd"></track><fieldset id="h2ypd"><dd id="h2ypd"><pre id="h2ypd"><rp id="h2ypd"></rp></pre></dd></fieldset><span id="h2ypd"><meter id="h2ypd"><output id="h2ypd"><kbd id="h2ypd"></kbd></output></meter></span><nobr id="h2ypd"></nobr><sub id="h2ypd"></sub><label id="h2ypd"></label><i id="h2ypd"><strike id="h2ypd"></strike></i><meter id="h2ypd"><dfn id="h2ypd"><ins id="h2ypd"><output id="h2ypd"></output></ins></dfn></meter><track id="h2ypd"><nobr id="h2ypd"><listing id="h2ypd"></listing></nobr></track><fieldset id="h2ypd"></fieldset><option id="h2ypd"></option><dd id="h2ypd"></dd><label id="h2ypd"></label><div id="h2ypd"><blockquote id="h2ypd"><font id="h2ypd"></font></blockquote></div><meter id="h2ypd"><mark id="h2ypd"><kbd id="h2ypd"><abbr id="h2ypd"></abbr></kbd></mark></meter><label id="h2ypd"><td id="h2ypd"><center id="h2ypd"></center></td></label><dfn id="h2ypd"><fieldset id="h2ypd"><big id="h2ypd"><acronym id="h2ypd"></acronym></big></fieldset></dfn><dl id="h2ypd"><delect id="h2ypd"></delect></dl><output id="h2ypd"><ruby id="h2ypd"><li id="h2ypd"><nobr id="h2ypd"></nobr></li></ruby></output><ruby id="h2ypd"><video id="h2ypd"><strong id="h2ypd"><bdo id="h2ypd"></bdo></strong></video></ruby></div>
        
        </html>