• \n
    <\/div>\n
    <\/div>\n \n \n<\/body>\n<\/html><\/pre>\n

    如您所見(jiàn),此代碼使用 CDN 包含 CSS 和 JavaScript 文件。因此,您必須更新鏈接以包含您之前下載的文件。在標(biāo)記中,您可以看到放置了一些

    <\/code>。第一個(gè)具有 qunit 作為其 ID,由框架用來(lái)顯示其用戶(hù)界面,其中顯示測(cè)試結(jié)果。第二個(gè)
    <\/code>,其 ID 為 qunit-fixture,應(yīng)由您(開(kāi)發(fā)人員)使用。此元素允許開(kāi)發(fā)人員測(cè)試添加、編輯或從 DOM 中刪除元素的代碼,而無(wú)需擔(dān)心在每次測(cè)試後清理 DOM。如果您將代碼創(chuàng)建的元素放在此
    <\/code> 中,QUnit 將為我們處理重置。最後,我們包含了一個(gè) tests.js 文件,該文件代表包含測(cè)試的文件。我的建議是在處理真實(shí)項(xiàng)目時(shí)使用文件來(lái)存儲(chǔ)測(cè)試。在我為本教程創(chuàng)建的實(shí)時(shí)演示中,我使用了 JSBin,當(dāng)然不允許上傳文件。因此,在演示中,您會(huì)看到我已經(jīng)內(nèi)聯(lián)了測(cè)試代碼?,F(xiàn)在您已經(jīng)了解了標(biāo)記每個(gè)部分的含義,請(qǐng)?jiān)跒g覽器中打開(kāi) index.html 頁(yè)面,看看會(huì)發(fā)生什麼。如果一切順利,您應(yīng)該會(huì)看到如下所示的實(shí)時(shí)演示界面,該界面也作為 JSBin 提供:QUnit 示例。在此階段,此界面中與我們相關(guān)的唯一部分是顯示 QUnit 花費(fèi)在處理測(cè)試上的時(shí)間、定義的斷言數(shù)量以及通過(guò)和失敗的測(cè)試數(shù)量的部分。上面的演示顯示我們沒(méi)有定義任何測(cè)試。讓我們解決這個(gè)問(wèn)題。 <\/p>\n

    如何使用 QUnit 創(chuàng)建測(cè)試<\/strong><\/p>\n

    QUnit 提供兩種創(chuàng)建新測(cè)試的方法:QUnit.test()<\/code> 和 QUnit.asyncTest()<\/code>。第一個(gè)用於測(cè)試同步運(yùn)行的代碼,而第二個(gè)用於測(cè)試異步代碼。在本節(jié)中,我將描述如何為同步代碼創(chuàng)建測(cè)試。 QUnit.test()<\/code> 方法的簽名如下:<\/p>\n

    QUnit.test(name, testFunction)<\/pre>\n

    第一個(gè)參數(shù) name<\/code> 是一個(gè)字符串,它幫助我們識(shí)別創(chuàng)建的測(cè)試。第二個(gè)參數(shù) testFunction<\/code> 是包含框架將執(zhí)行的斷言的函數(shù)??蚣軐⒁粋€(gè)參數(shù)傳遞給此函數(shù),該參數(shù)公開(kāi)所有 QUnit 的斷言方法。將此描述轉(zhuǎn)換為代碼,我們可以使用以下代碼更新 tests.js 文件:<\/p>\n

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

    此代碼創(chuàng)建一個(gè)由字符串“我的第一個(gè)測(cè)試”標(biāo)識(shí)的新測(cè)試和一個(gè)具有空主體的函數(shù)。添加沒(méi)有任何斷言的測(cè)試沒(méi)有任何用處。要解決此問(wèn)題,我們必須學(xué)習(xí) QUnit 中可用的斷言方法。 <\/p>\n

    QUnit 的斷言方法<\/strong><\/p>\n

    斷言是軟件測(cè)試的核心。它們使我們能夠驗(yàn)證我們的代碼是否按預(yù)期工作。在 QUnit 中,我們有很多方法可以驗(yàn)證這些期望??梢酝ㄟ^(guò)傳遞給 QUnit.test()<\/code> 方法的函數(shù)的參數(shù)(在我們之前的示例中為 assert<\/code>)在測(cè)試中訪問(wèn)它們。下面的列表總結(jié)了可用的方法,以及它們的功能和簽名:<\/p>

      \n
    • deepEqual(value, expected[, message])<\/code>:一種遞歸的嚴(yán)格比較,適用於所有 JavaScript 類(lèi)型。如果 value<\/code> 和 expected<\/code> 在屬性、值方面相同,並且具有相同的原型,則斷言通過(guò);<\/li>\n
    • equal(value, expected[, message])<\/code>:使用非嚴(yán)格比較(==)驗(yàn)證提供的 value<\/code> 等於 expected<\/code> 參數(shù)。 <\/li>\n
    • notDeepEqual(value, expected[, message])<\/code>:與 deepEqual()<\/code> 相同,但測(cè)試不等式;<\/li>\n
    • notEqual(value, expected[, message])<\/code>:與 equal()<\/code> 相同,但測(cè)試不等式;<\/li>\n
    • propEqual(value, expected[, message])<\/code>:對(duì)象的屬性和值的嚴(yán)格比較。如果所有屬性和值都相同,則斷言通過(guò);<\/li>\n
    • strictEqual(value, expected[, message])<\/code>:使用嚴(yán)格比較(===)驗(yàn)證提供的 value<\/code> 等於 expected<\/code> 參數(shù);<\/li>\n
    • notPropEqual(value, expected[, message])<\/code>:與 propEqual()<\/code> 相同,但測(cè)試不等式;<\/li>\n
    • notStrictEqual(value, expected[, message])<\/code>:與 strictEqual()<\/code> 相同,但測(cè)試不等式;<\/li>\n
    • ok(value[, message])<\/code>:如果第一個(gè)參數(shù)為真值,則斷言通過(guò);<\/li>\n
    • throws(function[, expected][, message])<\/code>:測(cè)試回調(diào)是否拋出異常,並可選地比較拋出的錯(cuò)誤;<\/li>\n<\/ul>\n

      這些方法接受的參數(shù)含義如下:<\/p>\n

        \n
      • value<\/code>:函數(shù)、方法返回的值或存儲(chǔ)在必須驗(yàn)證的變量中的值;<\/li>\n
      • expected<\/code>:要測(cè)試的值。對(duì)於 throws()<\/code> 方法,這可以是 Error 對(duì)象(實(shí)例)、Error 函數(shù)(構(gòu)造函數(shù))、與字符串表示匹配(或部分匹配)的正則表達(dá)式或必須返回 true 以通過(guò)斷言檢查的回調(diào)函數(shù)<\/q><\/code>;<\/li>\n
      • message<\/code>:描述斷言的可選字符串;<\/li>\n
      • function<\/code>:要執(zhí)行的應(yīng)返回 Error 的函數(shù);<\/li>\n<\/ul>\n

        現(xiàn)在您已經(jīng)了解了可用的方法和參數(shù),是時(shí)候查看一些代碼了。我不會(huì)為單個(gè)函數(shù)編寫(xiě)多個(gè)測(cè)試,而是嘗試重現(xiàn)更真實(shí)的示例。無(wú)論如何,我將向您展示的測(cè)試都不應(yīng)被視為完整的測(cè)試套件,但它們應(yīng)該讓您對(duì)從哪裡開(kāi)始有一個(gè)具體的了解。為了編寫(xiě)提到的測(cè)試,我們需要定義一些要測(cè)試的代碼。在這種情況下,我將定義一個(gè)對(duì)象字面量,如下所示:<\/p>

        \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://m.miracleart.cn/">国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂</a></h1>\n  <div   class="377j5v51b"   id=\"qunit\"><\/div>\n  <div   class="377j5v51b"   id=\"qunit-fixture\"><\/div>\n  <??>\n  <??>\n<\/body>\n<\/html><\/pre>\n<p>如您所見(jiàn),我們定義了一個(gè)包含三個(gè)函數(shù)的對(duì)象字面量:<code>max()<\/code>、<code>isOdd()<\/code> 和 <code>sortObj()<\/code>。第一個(gè)接受任意數(shù)量的參數(shù)並返回最大值。 <code>isOdd()<\/code> 接受一個(gè)數(shù)字作為其參數(shù)並測(cè)試它是否為奇數(shù)。 <code>sortObj()<\/code> 接受一個(gè)對(duì)像數(shù)組,理想情況下應(yīng)該有一個(gè)名為 timestamp 的屬性,並根據(jù)此屬性的值對(duì)它們進(jìn)行排序。這些函數(shù)的可能的測(cè)試集如下所示:(此處省略了冗長(zhǎng)的測(cè)試代碼示例,因?yàn)橐呀?jīng)超過(guò)了字?jǐn)?shù)限制,但原理和前面描述的一致)<\/p>\n<p><strong>設(shè)置期望<\/strong><\/p>\n<p>創(chuàng)建測(cè)試時(shí),最佳實(shí)踐是設(shè)置我們期望執(zhí)行的斷言數(shù)量。這樣做,如果一個(gè)或多個(gè)斷言未執(zhí)行,則測(cè)試將失敗。 QUnit 框架為此目的提供了 <code>expect()<\/code> 方法。此方法在處理異步代碼時(shí)特別有用,但在測(cè)試同步函數(shù)時(shí)最好也使用它。 <code>expect()<\/code> 方法的簽名如下:<\/p>\n<pre class='brush:php;toolbar:false;'>QUnit.test(name, testFunction)<\/pre>\n<p>其中 <code>assertionsNumber<\/code> 參數(shù)指定預(yù)期的斷言數(shù)量。 (此處同樣省略了更新測(cè)試代碼的示例,因?yàn)橐呀?jīng)超過(guò)了字?jǐn)?shù)限制,但原理和前面描述的一致)<\/p>\n<p><strong>QUnit 入門(mén)結(jié)論<\/strong><\/p>\n<p>在本教程中,我向您介紹了測(cè)試的神奇世界,尤其是如何使用 QUnit 對(duì) JavaScript 代碼進(jìn)行單元測(cè)試。我們已經(jīng)看到設(shè)置 QUnit 框架是多麼容易,以及它提供了哪些方法來(lái)測(cè)試同步函數(shù)。此外,您還學(xué)習(xí)了框架提供的用於測(cè)試代碼的斷言函數(shù)集。最後,我提到了設(shè)置我們期望運(yùn)行的斷言數(shù)量的重要性以及如何使用 <code>expect()<\/code> 方法設(shè)置它們。我希望您喜歡這篇文章,並且您會(huì)考慮將 QUnit 集成到您的項(xiàng)目中。 (此處省略了 FAQs 部分,因?yàn)橐呀?jīng)超過(guò)了字?jǐn)?shù)限制)<\/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="377j5v51b"   class="head">
                <div   id="377j5v51b"   class="haed_left">
                    <div   id="377j5v51b"   class="haed_logo">
                        <a href="http://m.miracleart.cn/zh-tw/" title="" class="haed_logo_a">
                            <img src="/static/imghw/logo.png" alt="" class="haed_logoimg">
                        </a>
                    </div>
                    <div   id="377j5v51b"   class="head_nav">
                        <div   id="377j5v51b"   class="head_navs">
                            <a href="javascript:;" title="社群" class="head_nava head_nava-template1">社群</a>
                            <div   class="377j5v51b"   id="dropdown-template1" style="display: none;">
                                <div   id="377j5v51b"   class="languagechoose">
                                    <a href="http://m.miracleart.cn/zh-tw/article.html" title="文章" class="languagechoosea on">文章</a>
                                    <a href="http://m.miracleart.cn/zh-tw/faq/zt" title="合集" class="languagechoosea">合集</a>
                                    <a href="http://m.miracleart.cn/zh-tw/wenda.html" title="問(wèn)答" class="languagechoosea">問(wèn)答</a>
                                </div>
                            </div>
                        </div>
        
                        <div   id="377j5v51b"   class="head_navs">
                            <a href="javascript:;" title="學(xué)習(xí)" class="head_nava head_nava-template1_1">學(xué)習(xí)</a>
                            <div   class="377j5v51b"   id="dropdown-template1_1" style="display: none;">
                                <div   id="377j5v51b"   class="languagechoose">
                                    <a href="http://m.miracleart.cn/zh-tw/course.html" title="課程" class="languagechoosea on">課程</a>
                                    <a href="http://m.miracleart.cn/zh-tw/dic/" title="程式設(shè)計(jì)字典" class="languagechoosea">程式設(shè)計(jì)字典</a>
                                </div>
                            </div>
                        </div>
        
                        <div   id="377j5v51b"   class="head_navs">
                            <a href="javascript:;" title="工具庫(kù)" class="head_nava head_nava-template1_2">工具庫(kù)</a>
                            <div   class="377j5v51b"   id="dropdown-template1_2" style="display: none;">
                                <div   id="377j5v51b"   class="languagechoose">
                                    <a href="http://m.miracleart.cn/zh-tw/toolset/development-tools" title="開(kāi)發(fā)工具" class="languagechoosea on">開(kāi)發(fā)工具</a>
                                    <a href="http://m.miracleart.cn/zh-tw/toolset/website-source-code" title="網(wǎng)站源碼" class="languagechoosea">網(wǎng)站源碼</a>
                                    <a href="http://m.miracleart.cn/zh-tw/toolset/php-libraries" title="PHP 函式庫(kù)" class="languagechoosea">PHP 函式庫(kù)</a>
                                    <a href="http://m.miracleart.cn/zh-tw/toolset/js-special-effects" title="JS特效" class="languagechoosea on">JS特效</a>
                                    <a href="http://m.miracleart.cn/zh-tw/toolset/website-materials" title="網(wǎng)站素材" class="languagechoosea on">網(wǎng)站素材</a>
                                    <a href="http://m.miracleart.cn/zh-tw/toolset/extension-plug-ins" title="擴(kuò)充插件" class="languagechoosea on">擴(kuò)充插件</a>
                                </div>
                            </div>
                        </div>
        
                        <div   id="377j5v51b"   class="head_navs">
                            <a href="http://m.miracleart.cn/zh-tw/ai" title="AI工具" class="head_nava head_nava-template1_3">AI工具</a>
                        </div>
        
                        <div   id="377j5v51b"   class="head_navs">
                            <a href="javascript:;" title="休閒" class="head_nava head_nava-template1_3">休閒</a>
                            <div   class="377j5v51b"   id="dropdown-template1_3" style="display: none;">
                                <div   id="377j5v51b"   class="languagechoose">
                                    <a href="http://m.miracleart.cn/zh-tw/game" title="遊戲下載" class="languagechoosea on">遊戲下載</a>
                                    <a href="http://m.miracleart.cn/zh-tw/mobile-game-tutorial/" title="遊戲教程" class="languagechoosea">遊戲教程</a>
        
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                            <div   id="377j5v51b"   class="head_search">
                        <input id="key_words"  onkeydown="if (event.keyCode == 13) searchs('zh-tw')" class="search-input" type="text" autocomplete="off" name="keywords" required="required" placeholder="Block,address,transaction,news" value="">
                        <a href="javascript:;" title="搜尋"  onclick="searchs('zh-tw')"><img src="/static/imghw/find.png" alt="搜尋"></a>
                    </div>
                        <div   id="377j5v51b"   class="head_right">
                    <div   id="377j5v51b"   class="haed_language">
                        <a href="javascript:;" class="layui-btn haed_language_btn">繁體中文<i class="layui-icon layui-icon-triangle-d"></i></a>
                        <div   class="377j5v51b"   id="dropdown-template" style="display: none;">
                            <div   id="377j5v51b"   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:;" title="繁體中文" class="languagechoosea">繁體中文</a>
                                                        <a href="javascript:setlang('ja');" 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="377j5v51b"    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="377j5v51b"   class="Article_Details_main">
        			<div   id="377j5v51b"   class="Article_Details_main1">
        							<div   id="377j5v51b"   class="Article_Details_main1M">
        					<div   id="377j5v51b"   class="phpgenera_Details_mainL1">
        						<a href="http://m.miracleart.cn/zh-tw/" title="首頁(yè)"
        							class="phpgenera_Details_mainL1a">首頁(yè)</a>
        						<img src="/static/imghw/top_right.png" alt="" />
        												<a href="http://m.miracleart.cn/zh-tw/web-designer.html"
        							class="phpgenera_Details_mainL1a">web前端</a>
        						<img src="/static/imghw/top_right.png" alt="" />
        												<a href="http://m.miracleart.cn/zh-tw/js-tutorial.html"
        							class="phpgenera_Details_mainL1a">js教程</a>
        						<img src="/static/imghw/top_right.png" alt="" />
        						<span>Qunit入門(mén)</span>
        					</div>
        					
        					<div   id="377j5v51b"   class="Articlelist_txts">
        						<div   id="377j5v51b"   class="Articlelist_txts_info">
        							<h1 class="Articlelist_txts_title">Qunit入門(mén)</h1>
        							<div   id="377j5v51b"   class="Articlelist_txts_info_head">
        								<div   id="377j5v51b"   class="author_info">
        									<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="author_detail">
        																			<a href="http://m.miracleart.cn/zh-tw/member/1468494.html" class="author_name">Jennifer Aniston</a>
                                        										</div>
        								</div>
                        			</div>
        							<span id="377j5v51b"    class="Articlelist_txts_time">Feb 21, 2025 pm	 12:12 PM</span>
        														
        						</div>
        					</div>
        					<hr />
        					<div   id="377j5v51b"   class="article_main php-article">
        						<div   id="377j5v51b"   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>軟件測(cè)試是評(píng)估軟件以檢測(cè)給定輸入集的預(yù)期輸出和實(shí)際輸出之間差異的過(guò)程。測(cè)試,尤其是單元測(cè)試,應(yīng)該是每個(gè)開(kāi)發(fā)人員生活中必不可少的一部分。不幸的是,許多開(kāi)發(fā)人員似乎害怕這項(xiàng)活動(dòng)。在 JavaScript 中,我們可以從許多框架中選擇來(lái)測(cè)試我們的代碼庫(kù)。例如 Mocha、Selenium 和 QUnit。在本文中,我將向您介紹 QUnit。 QUnit 是由 jQuery 團(tuán)隊(duì)開(kāi)發(fā)和維護(hù)的單元測(cè)試框架,該團(tuán)隊(duì)也是 jQuery 和 jQuery UI 等項(xiàng)目的幕後團(tuán)隊(duì)。 </p>
        <p><strong>關(guān)鍵要點(diǎn)</strong></p>
        <ul>
        <li>QUnit 由 jQuery 團(tuán)隊(duì)開(kāi)發(fā)和維護(hù),由於其易用性和簡(jiǎn)單的設(shè)置,它是一個(gè)流行的 JavaScript 單元測(cè)試框架。 </li>
        <li>要開(kāi)始使用 QUnit,請(qǐng)從 QUnit 網(wǎng)站下載最新版本的 JavaScript 和 CSS 文件,並將它們包含在您的 HTML 文件中。 </li>
        <li>QUnit 提供兩種創(chuàng)建新測(cè)試的方法:用於同步代碼的 <code>QUnit.test()</code> 和用於異步代碼的 <code>QUnit.asyncTest()</code>。這些測(cè)試包含斷言,用於驗(yàn)證代碼是否按預(yù)期工作。 </li>
        <li>QUnit 提供各種斷言方法,包括<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> 。每種方法都有其特定的用途並接受某些參數(shù)。 </li>
        <li>使用 QUnit 創(chuàng)建測(cè)試時(shí),最佳實(shí)踐是使用 <code>expect()</code> 方法設(shè)置預(yù)期執(zhí)行的斷言數(shù)量。這有助於確保執(zhí)行所有斷言,如果一個(gè)或多個(gè)斷言未執(zhí)行,則測(cè)試將失敗。 </li>
        </ul>
        <p><strong>設(shè)置 QUnit</strong></p>
        <p>許多開(kāi)發(fā)人員使用 QUnit 的主要原因之一是其易用性。開(kāi)始使用此框架非常簡(jiǎn)單,並且可以在幾個(gè)小時(shí)內(nèi)掌握主要概念。使用 QUnit 的第一步顯然是從下載它開(kāi)始。有幾種方法可以做到這一點(diǎn):從網(wǎng)站手動(dòng)下載,使用 CDN,使用 Bower 或使用 npm。我的建議是,除非您正在開(kāi)發(fā)簡(jiǎn)單的實(shí)時(shí)演示,否則不應(yīng)依賴(lài) CDN 來(lái)測(cè)試您的代碼。因此,堅(jiān)持使用其他選項(xiàng)。對(duì)於本文,我不希望設(shè)置任何先決條件(閱讀 Bower 和 npm),因此我們將採(cǎi)用第一種方法。因此,請(qǐng)?jiān)L問(wèn) QUnit 網(wǎng)站並下載最新版本的 JavaScript 文件(名為 qunit-1.14.0.js)和 CSS 文件(名為 qunit-1.14.0.css)。將它們放在一個(gè)文件夾中,您還將在其中創(chuàng)建一個(gè) index.html。在這個(gè)文件中,我們將放置網(wǎng)站主頁(yè)上顯示的 HTML 代碼,為了方便起見(jiàn),我在下面重複一下。 </p><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>如您所見(jiàn),此代碼使用 CDN 包含 CSS 和 JavaScript 文件。因此,您必須更新鏈接以包含您之前下載的文件。在標(biāo)記中,您可以看到放置了一些 <code><div></code>。第一個(gè)具有 qunit 作為其 ID,由框架用來(lái)顯示其用戶(hù)界面,其中顯示測(cè)試結(jié)果。第二個(gè) <code><div></code>,其 ID 為 qunit-fixture,應(yīng)由您(開(kāi)發(fā)人員)使用。此元素允許開(kāi)發(fā)人員測(cè)試添加、編輯或從 DOM 中刪除元素的代碼,而無(wú)需擔(dān)心在每次測(cè)試後清理 DOM。如果您將代碼創(chuàng)建的元素放在此 <code><div></code> 中,QUnit 將為我們處理重置。最後,我們包含了一個(gè) tests.js 文件,該文件代表包含測(cè)試的文件。我的建議是在處理真實(shí)項(xiàng)目時(shí)使用文件來(lái)存儲(chǔ)測(cè)試。在我為本教程創(chuàng)建的實(shí)時(shí)演示中,我使用了 JSBin,當(dāng)然不允許上傳文件。因此,在演示中,您會(huì)看到我已經(jīng)內(nèi)聯(lián)了測(cè)試代碼。現(xiàn)在您已經(jīng)了解了標(biāo)記每個(gè)部分的含義,請(qǐng)?jiān)跒g覽器中打開(kāi) index.html 頁(yè)面,看看會(huì)發(fā)生什麼。如果一切順利,您應(yīng)該會(huì)看到如下所示的實(shí)時(shí)演示界面,該界面也作為 JSBin 提供:QUnit 示例。在此階段,此界面中與我們相關(guān)的唯一部分是顯示 QUnit 花費(fèi)在處理測(cè)試上的時(shí)間、定義的斷言數(shù)量以及通過(guò)和失敗的測(cè)試數(shù)量的部分。上面的演示顯示我們沒(méi)有定義任何測(cè)試。讓我們解決這個(gè)問(wèn)題。 </p>
        <p><strong>如何使用 QUnit 創(chuàng)建測(cè)試</strong></p>
        <p>QUnit 提供兩種創(chuàng)建新測(cè)試的方法:<code>QUnit.test()</code> 和 <code>QUnit.asyncTest()</code>。第一個(gè)用於測(cè)試同步運(yùn)行的代碼,而第二個(gè)用於測(cè)試異步代碼。在本節(jié)中,我將描述如何為同步代碼創(chuàng)建測(cè)試。 <code>QUnit.test()</code> 方法的簽名如下:</p>
        <pre class='brush:php;toolbar:false;'>QUnit.test(name, testFunction)</pre>
        <p>第一個(gè)參數(shù) <code>name</code> 是一個(gè)字符串,它幫助我們識(shí)別創(chuàng)建的測(cè)試。第二個(gè)參數(shù) <code>testFunction</code> 是包含框架將執(zhí)行的斷言的函數(shù)??蚣軐⒁粋€(gè)參數(shù)傳遞給此函數(shù),該參數(shù)公開(kāi)所有 QUnit 的斷言方法。將此描述轉(zhuǎn)換為代碼,我們可以使用以下代碼更新 tests.js 文件:</p>
        <pre class='brush:php;toolbar:false;'>QUnit.test('我的第一個(gè)測(cè)試', function(assert) {
           // 斷言在這里...
        });</pre>
        <p>此代碼創(chuàng)建一個(gè)由字符串“我的第一個(gè)測(cè)試”標(biāo)識(shí)的新測(cè)試和一個(gè)具有空主體的函數(shù)。添加沒(méi)有任何斷言的測(cè)試沒(méi)有任何用處。要解決此問(wèn)題,我們必須學(xué)習(xí) QUnit 中可用的斷言方法。 </p>
        <p><strong>QUnit 的斷言方法</strong></p>
        <p>斷言是軟件測(cè)試的核心。它們使我們能夠驗(yàn)證我們的代碼是否按預(yù)期工作。在 QUnit 中,我們有很多方法可以驗(yàn)證這些期望??梢酝ㄟ^(guò)傳遞給 <code>QUnit.test()</code> 方法的函數(shù)的參數(shù)(在我們之前的示例中為 <code>assert</code>)在測(cè)試中訪問(wèn)它們。下面的列表總結(jié)了可用的方法,以及它們的功能和簽名:</p><ul>
        <li><code>deepEqual(value, expected[, message])</code>:一種遞歸的嚴(yán)格比較,適用於所有 JavaScript 類(lèi)型。如果 <code>value</code> 和 <code>expected</code> 在屬性、值方面相同,並且具有相同的原型,則斷言通過(guò);</li>
        <li><code>equal(value, expected[, message])</code>:使用非嚴(yán)格比較(==)驗(yàn)證提供的 <code>value</code> 等於 <code>expected</code> 參數(shù)。 </li>
        <li><code>notDeepEqual(value, expected[, message])</code>:與 <code>deepEqual()</code> 相同,但測(cè)試不等式;</li>
        <li><code>notEqual(value, expected[, message])</code>:與 <code>equal()</code> 相同,但測(cè)試不等式;</li>
        <li><code>propEqual(value, expected[, message])</code>:對(duì)象的屬性和值的嚴(yán)格比較。如果所有屬性和值都相同,則斷言通過(guò);</li>
        <li><code>strictEqual(value, expected[, message])</code>:使用嚴(yán)格比較(===)驗(yàn)證提供的 <code>value</code> 等於 <code>expected</code> 參數(shù);</li>
        <li><code>notPropEqual(value, expected[, message])</code>:與 <code>propEqual()</code> 相同,但測(cè)試不等式;</li>
        <li><code>notStrictEqual(value, expected[, message])</code>:與 <code>strictEqual()</code> 相同,但測(cè)試不等式;</li>
        <li><code>ok(value[, message])</code>:如果第一個(gè)參數(shù)為真值,則斷言通過(guò);</li>
        <li><code>throws(function[, expected][, message])</code>:測(cè)試回調(diào)是否拋出異常,並可選地比較拋出的錯(cuò)誤;</li>
        </ul>
        <p>這些方法接受的參數(shù)含義如下:</p>
        <ul>
        <li><code>value</code>:函數(shù)、方法返回的值或存儲(chǔ)在必須驗(yàn)證的變量中的值;</li>
        <li><code>expected</code>:要測(cè)試的值。對(duì)於 <code>throws()</code> 方法,這可以是 <code><q cite="http://api.qunitjs.com/throws/">Error 對(duì)象(實(shí)例)、Error 函數(shù)(構(gòu)造函數(shù))、與字符串表示匹配(或部分匹配)的正則表達(dá)式或必須返回 true 以通過(guò)斷言檢查的回調(diào)函數(shù)</q></code>;</li>
        <li><code>message</code>:描述斷言的可選字符串;</li>
        <li><code>function</code>:要執(zhí)行的應(yīng)返回 Error 的函數(shù);</li>
        </ul>
        <p>現(xiàn)在您已經(jīng)了解了可用的方法和參數(shù),是時(shí)候查看一些代碼了。我不會(huì)為單個(gè)函數(shù)編寫(xiě)多個(gè)測(cè)試,而是嘗試重現(xiàn)更真實(shí)的示例。無(wú)論如何,我將向您展示的測(cè)試都不應(yīng)被視為完整的測(cè)試套件,但它們應(yīng)該讓您對(duì)從哪裡開(kāi)始有一個(gè)具體的了解。為了編寫(xiě)提到的測(cè)試,我們需要定義一些要測(cè)試的代碼。在這種情況下,我將定義一個(gè)對(duì)象字面量,如下所示:</p><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>如您所見(jiàn),我們定義了一個(gè)包含三個(gè)函數(shù)的對(duì)象字面量:<code>max()</code>、<code>isOdd()</code> 和 <code>sortObj()</code>。第一個(gè)接受任意數(shù)量的參數(shù)並返回最大值。 <code>isOdd()</code> 接受一個(gè)數(shù)字作為其參數(shù)並測(cè)試它是否為奇數(shù)。 <code>sortObj()</code> 接受一個(gè)對(duì)像數(shù)組,理想情況下應(yīng)該有一個(gè)名為 timestamp 的屬性,並根據(jù)此屬性的值對(duì)它們進(jìn)行排序。這些函數(shù)的可能的測(cè)試集如下所示:(此處省略了冗長(zhǎng)的測(cè)試代碼示例,因?yàn)橐呀?jīng)超過(guò)了字?jǐn)?shù)限制,但原理和前面描述的一致)</p>
        <p><strong>設(shè)置期望</strong></p>
        <p>創(chuàng)建測(cè)試時(shí),最佳實(shí)踐是設(shè)置我們期望執(zhí)行的斷言數(shù)量。這樣做,如果一個(gè)或多個(gè)斷言未執(zhí)行,則測(cè)試將失敗。 QUnit 框架為此目的提供了 <code>expect()</code> 方法。此方法在處理異步代碼時(shí)特別有用,但在測(cè)試同步函數(shù)時(shí)最好也使用它。 <code>expect()</code> 方法的簽名如下:</p>
        <pre class='brush:php;toolbar:false;'>QUnit.test(name, testFunction)</pre>
        <p>其中 <code>assertionsNumber</code> 參數(shù)指定預(yù)期的斷言數(shù)量。 (此處同樣省略了更新測(cè)試代碼的示例,因?yàn)橐呀?jīng)超過(guò)了字?jǐn)?shù)限制,但原理和前面描述的一致)</p>
        <p><strong>QUnit 入門(mén)結(jié)論</strong></p>
        <p>在本教程中,我向您介紹了測(cè)試的神奇世界,尤其是如何使用 QUnit 對(duì) JavaScript 代碼進(jìn)行單元測(cè)試。我們已經(jīng)看到設(shè)置 QUnit 框架是多麼容易,以及它提供了哪些方法來(lái)測(cè)試同步函數(shù)。此外,您還學(xué)習(xí)了框架提供的用於測(cè)試代碼的斷言函數(shù)集。最後,我提到了設(shè)置我們期望運(yùn)行的斷言數(shù)量的重要性以及如何使用 <code>expect()</code> 方法設(shè)置它們。我希望您喜歡這篇文章,並且您會(huì)考慮將 QUnit 集成到您的項(xiàng)目中。 (此處省略了 FAQs 部分,因?yàn)橐呀?jīng)超過(guò)了字?jǐn)?shù)限制)</p><p>以上是Qunit入門(mén)的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!</p>
        
        
        						</div>
        					</div>
        					<div   id="377j5v51b"   class="wzconShengming_sp">
        						<div   id="377j5v51b"   class="bzsmdiv_sp">本網(wǎng)站聲明</div>
        						<div>本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn</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="377j5v51b"   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="377j5v51b"   class="phpgenera_Details_mainR4">
        						<div   id="377j5v51b"   class="phpmain1_4R_readrank">
        							<div   id="377j5v51b"   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>熱門(mén)文章</h2>
        							</div>
        							<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottom">
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796821119.html" title="指南:恆星刀片保存文件位置/保存文件丟失/不保存" class="phpgenera_Details_mainR4_bottom_title">指南:恆星刀片保存文件位置/保存文件丟失/不保存</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>4 週前</span>
        										<span>By DDD</span>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796827210.html" title="Oguri Cap Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Oguri Cap Build Guide |漂亮的德比志</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>2 週前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796828723.html" title="Agnes Tachyon Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Agnes Tachyon Build Guide |漂亮的德比志</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>1 週前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796821436.html" title="沙丘:覺(jué)醒 - 高級(jí)行星學(xué)家Quest演練" class="phpgenera_Details_mainR4_bottom_title">沙丘:覺(jué)醒 - 高級(jí)行星學(xué)家Quest演練</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>3 週前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796821278.html" title="約會(huì)一切:德克和哈珀關(guān)係指南" class="phpgenera_Details_mainR4_bottom_title">約會(huì)一切:德克和哈珀關(guān)係指南</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>3 週前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        														</div>
        							<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
        								<a href="http://m.miracleart.cn/zh-tw/article.html">顯示更多</a>
        							</div>
        						</div>
        					</div> -->
        
        
        											<div   id="377j5v51b"   class="phpgenera_Details_mainR3">
        							<div   id="377j5v51b"   class="phpmain1_4R_readrank">
        								<div   id="377j5v51b"   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="377j5v51b"   class="phpgenera_Details_mainR3_bottom">
        																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_title">
        													<h3>Undress AI Tool</h3>
        												</a>
        												<p>免費(fèi)脫衣圖片</p>
        											</div>
        										</div>
        																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_title">
        													<h3>Undresser.AI Undress</h3>
        												</a>
        												<p>人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片</p>
        											</div>
        										</div>
        																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_title">
        													<h3>AI Clothes Remover</h3>
        												</a>
        												<p>用於從照片中去除衣服的線上人工智慧工具。</p>
        											</div>
        										</div>
        																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_title">
        													<h3>Clothoff.io</h3>
        												</a>
        												<p>AI脫衣器</p>
        											</div>
        										</div>
        																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_title">
        													<h3>Video Face Swap</h3>
        												</a>
        												<p>使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!</p>
        											</div>
        										</div>
        																</div>
        								<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
        									<a href="http://m.miracleart.cn/zh-tw/ai">顯示更多</a>
        								</div>
        							</div>
        						</div>
        					
        
        
        					<div   id="377j5v51b"   class="phpgenera_Details_mainR4">
        						<div   id="377j5v51b"   class="phpmain1_4R_readrank">
        							<div   id="377j5v51b"   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>熱門(mén)文章</h2>
        							</div>
        							<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottom">
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796821119.html" title="指南:恆星刀片保存文件位置/保存文件丟失/不保存" class="phpgenera_Details_mainR4_bottom_title">指南:恆星刀片保存文件位置/保存文件丟失/不保存</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>4 週前</span>
        										<span>By DDD</span>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796827210.html" title="Oguri Cap Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Oguri Cap Build Guide |漂亮的德比志</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>2 週前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796828723.html" title="Agnes Tachyon Build Guide |漂亮的德比志" class="phpgenera_Details_mainR4_bottom_title">Agnes Tachyon Build Guide |漂亮的德比志</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>1 週前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796821436.html" title="沙丘:覺(jué)醒 - 高級(jí)行星學(xué)家Quest演練" class="phpgenera_Details_mainR4_bottom_title">沙丘:覺(jué)醒 - 高級(jí)行星學(xué)家Quest演練</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>3 週前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/1796821278.html" title="約會(huì)一切:德克和哈珀關(guān)係指南" class="phpgenera_Details_mainR4_bottom_title">約會(huì)一切:德克和哈珀關(guān)係指南</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<span>3 週前</span>
        										<span>By Jack chen</span>
        									</div>
        								</div>
        														</div>
        							<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
        								<a href="http://m.miracleart.cn/zh-tw/article.html">顯示更多</a>
        							</div>
        						</div>
        					</div>
        
        
        											<div   id="377j5v51b"   class="phpgenera_Details_mainR3">
        							<div   id="377j5v51b"   class="phpmain1_4R_readrank">
        								<div   id="377j5v51b"   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="377j5v51b"   class="phpgenera_Details_mainR3_bottom">
        																		<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/toolset/development-tools/92" title="記事本++7.3.1" class="phpmain_tab2_mids_title">
        													<h3>記事本++7.3.1</h3>
        												</a>
        												<p>好用且免費(fèi)的程式碼編輯器</p>
        											</div>
        										</div>
        																			<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/toolset/development-tools/93" title="SublimeText3漢化版" 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漢化版" />
        											</a>
        											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/toolset/development-tools/93" title="SublimeText3漢化版" class="phpmain_tab2_mids_title">
        													<h3>SublimeText3漢化版</h3>
        												</a>
        												<p>中文版,非常好用</p>
        											</div>
        										</div>
        																			<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/toolset/development-tools/121" title="禪工作室 13.0.1" class="phpmain_tab2_mids_title">
        													<h3>禪工作室 13.0.1</h3>
        												</a>
        												<p>強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境</p>
        											</div>
        										</div>
        																			<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/toolset/development-tools/469" title="Dreamweaver 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="Dreamweaver CS6" />
        											</a>
        											<div   id="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/toolset/development-tools/469" title="Dreamweaver CS6" class="phpmain_tab2_mids_title">
        													<h3>Dreamweaver CS6</h3>
        												</a>
        												<p>視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具</p>
        											</div>
        										</div>
        																			<div   id="377j5v51b"   class="phpmain_tab2_mids_top">
        											<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="phpmain_tab2_mids_info">
        												<a href="http://m.miracleart.cn/zh-tw/toolset/development-tools/500" title="SublimeText3 Mac版" class="phpmain_tab2_mids_title">
        													<h3>SublimeText3 Mac版</h3>
        												</a>
        												<p>神級(jí)程式碼編輯軟體(SublimeText3)</p>
        											</div>
        										</div>
        																	</div>
        								<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
        									<a href="http://m.miracleart.cn/zh-tw/ai">顯示更多</a>
        								</div>
        							</div>
        						</div>
        										
        
        					
        					<div   id="377j5v51b"   class="phpgenera_Details_mainR4">
        						<div   id="377j5v51b"   class="phpmain1_4R_readrank">
        							<div   id="377j5v51b"   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>熱門(mén)話題</h2>
        							</div>
        							<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottom">
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/gmailyxdlrkzn" title="gmail信箱登陸入口在哪裡" class="phpgenera_Details_mainR4_bottom_title">gmail信箱登陸入口在哪裡</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/eyess.png" alt="" />
        											<span>8635</span>
        										</div>
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/tiezi.png" alt="" />
        											<span>17</span>
        										</div>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/java-tutorial" title="Java教學(xué)" class="phpgenera_Details_mainR4_bottom_title">Java教學(xué)</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/eyess.png" alt="" />
        											<span>1783</span>
        										</div>
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/tiezi.png" alt="" />
        											<span>16</span>
        										</div>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/cakephp-tutor" title="CakePHP 教程" class="phpgenera_Details_mainR4_bottom_title">CakePHP 教程</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/eyess.png" alt="" />
        											<span>1724</span>
        										</div>
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/tiezi.png" alt="" />
        											<span>56</span>
        										</div>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/laravel-tutori" title="Laravel 教程" class="phpgenera_Details_mainR4_bottom_title">Laravel 教程</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/eyess.png" alt="" />
        											<span>1577</span>
        										</div>
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/tiezi.png" alt="" />
        											<span>28</span>
        										</div>
        									</div>
        								</div>
        															<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms">
        									<a href="http://m.miracleart.cn/zh-tw/faq/php-tutorial" title="PHP教程" class="phpgenera_Details_mainR4_bottom_title">PHP教程</a>
        									<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_info">
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/eyess.png" alt="" />
        											<span>1440</span>
        										</div>
        										<div   id="377j5v51b"   class="phpgenera_Details_mainR4_bottoms_infos">
        											<img src="/static/imghw/tiezi.png" alt="" />
        											<span>31</span>
        										</div>
        									</div>
        								</div>
        														</div>
        							<div   id="377j5v51b"   class="phpgenera_Details_mainR3_more">
        								<a href="http://m.miracleart.cn/zh-tw/faq/zt">顯示更多</a>
        							</div>
        						</div>
        					</div>
        				</div>
        			</div>
        							<div   id="377j5v51b"   class="Article_Details_main2">
        					<div   id="377j5v51b"   class="phpgenera_Details_mainL4">
        						<div   id="377j5v51b"   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="377j5v51b"   class="phpgenera_Details_mainL4_info">
        
        													<div   id="377j5v51b"   class="phphistorical_Version2_mids">
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796822063.html" title="Java vs. 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/175035046165294.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="Java vs. JavaScript:清除混亂" />
        								</a>
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796822063.html" title="Java vs. JavaScript:清除混亂" class="phphistorical_Version2_mids_title">Java vs. JavaScript:清除混亂</a>
        								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 20, 2025 am	 12:27 AM</span>
        								<p class="Articlelist_txts_p">Java和JavaScript是不同的編程語(yǔ)言,各自適用於不同的應(yīng)用場(chǎng)景。 Java用於大型企業(yè)和移動(dòng)應(yīng)用開(kāi)發(fā),而JavaScript主要用於網(wǎng)頁(yè)開(kāi)發(fā)。</p>
        							</div>
        														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796821632.html" title="JavaScript評(píng)論:簡(jiǎn)短說(shuō)明" 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/175026483186295.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScript評(píng)論:簡(jiǎn)短說(shuō)明" />
        								</a>
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796821632.html" title="JavaScript評(píng)論:簡(jiǎn)短說(shuō)明" class="phphistorical_Version2_mids_title">JavaScript評(píng)論:簡(jiǎn)短說(shuō)明</a>
        								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 19, 2025 am	 12:40 AM</span>
        								<p class="Articlelist_txts_p">JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)</p>
        							</div>
        														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796827639.html" title="如何在JS中與日期和時(shí)間合作?" 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/175130445135407.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="如何在JS中與日期和時(shí)間合作?" />
        								</a>
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796827639.html" title="如何在JS中與日期和時(shí)間合作?" class="phphistorical_Version2_mids_title">如何在JS中與日期和時(shí)間合作?</a>
        								<span id="377j5v51b"    class="Articlelist_txts_time">Jul 01, 2025 am	 01:27 AM</span>
        								<p class="Articlelist_txts_p">JavaScript中的日期和時(shí)間處理需注意以下幾點(diǎn):1.創(chuàng)建Date對(duì)像有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時(shí)間信息可用get和set方法,注意月份從0開(kāi)始;3.手動(dòng)格式化日期需拼接字符串,也可使用第三方庫(kù);4.處理時(shí)區(qū)問(wèn)題建議使用支持時(shí)區(qū)的庫(kù),如Luxon。掌握這些要點(diǎn)能有效避免常見(jiàn)錯(cuò)誤。</p>
        							</div>
        														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796822037.html" title="JavaScript與Java:開(kāi)發(fā)人員的全面比較" 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/175035006093854.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScript與Java:開(kāi)發(fā)人員的全面比較" />
        								</a>
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796822037.html" title="JavaScript與Java:開(kāi)發(fā)人員的全面比較" class="phphistorical_Version2_mids_title">JavaScript與Java:開(kāi)發(fā)人員的全面比較</a>
        								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 20, 2025 am	 12:21 AM</span>
        								<p class="Articlelist_txts_p">JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)</p>
        							</div>
        														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796828200.html" title="為什麼要將標(biāo)籤放在的底部?" 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/175139053194540.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="為什麼要將標(biāo)籤放在的底部?" />
        								</a>
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796828200.html" title="為什麼要將標(biāo)籤放在的底部?" class="phphistorical_Version2_mids_title">為什麼要將標(biāo)籤放在的底部?</a>
        								<span id="377j5v51b"    class="Articlelist_txts_time">Jul 02, 2025 am	 01:22 AM</span>
        								<p class="Articlelist_txts_p">PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl</p>
        							</div>
        														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796822137.html" title="JavaScript:探索用於高效編碼的數(shù)據(jù)類(lèi)型" 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/175035157160537.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="JavaScript:探索用於高效編碼的數(shù)據(jù)類(lèi)型" />
        								</a>
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796822137.html" title="JavaScript:探索用於高效編碼的數(shù)據(jù)類(lèi)型" class="phphistorical_Version2_mids_title">JavaScript:探索用於高效編碼的數(shù)據(jù)類(lèi)型</a>
        								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 20, 2025 am	 12:46 AM</span>
        								<p class="Articlelist_txts_p">javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)</p>
        							</div>
        														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796828191.html" title="什麼是在DOM中冒泡和捕獲的事件?" 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/175139034116786.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="什麼是在DOM中冒泡和捕獲的事件?" />
        								</a>
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796828191.html" title="什麼是在DOM中冒泡和捕獲的事件?" class="phphistorical_Version2_mids_title">什麼是在DOM中冒泡和捕獲的事件?</a>
        								<span id="377j5v51b"    class="Articlelist_txts_time">Jul 02, 2025 am	 01:19 AM</span>
        								<p class="Articlelist_txts_p">事件捕獲和冒泡是DOM中事件傳播的兩個(gè)階段,捕獲是從頂層向下到目標(biāo)元素,冒泡是從目標(biāo)元素向上傳播到頂層。 1.事件捕獲通過(guò)addEventListener的useCapture參數(shù)設(shè)為true實(shí)現(xiàn);2.事件冒泡是默認(rèn)行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委託,提高動(dòng)態(tài)內(nèi)容處理效率;5.捕獲可用於提前攔截事件,如日誌記錄或錯(cuò)誤處理。了解這兩個(gè)階段有助於精確控制JavaScript響應(yīng)用戶(hù)操作的時(shí)機(jī)和方式。</p>
        							</div>
        														<div   id="377j5v51b"   class="phphistorical_Version2_mids">
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796820615.html" title="Java和JavaScript有什麼區(qū)別?" 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/175012302052703.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="Java和JavaScript有什麼區(qū)別?" />
        								</a>
        								<a href="http://m.miracleart.cn/zh-tw/faq/1796820615.html" title="Java和JavaScript有什麼區(qū)別?" class="phphistorical_Version2_mids_title">Java和JavaScript有什麼區(qū)別?</a>
        								<span id="377j5v51b"    class="Articlelist_txts_time">Jun 17, 2025 am	 09:17 AM</span>
        								<p class="Articlelist_txts_p">Java和JavaScript是不同的編程語(yǔ)言。 1.Java是靜態(tài)類(lèi)型、編譯型語(yǔ)言,適用於企業(yè)應(yīng)用和大型系統(tǒng)。 2.JavaScript是動(dòng)態(tài)類(lèi)型、解釋型語(yǔ)言,主要用於網(wǎng)頁(yè)交互和前端開(kāi)發(fā)。</p>
        							</div>
        													</div>
        
        													<a href="http://m.miracleart.cn/zh-tw/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="377j5v51b"   class="footer">
                <div   id="377j5v51b"   class="footertop">
                    <img src="/static/imghw/logo.png" alt="">
                    <p>公益線上PHP培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!</p>
                </div>
                <div   id="377j5v51b"   class="footermid">
                    <a href="http://m.miracleart.cn/zh-tw/about/us.html">關(guān)於我們</a>
                    <a href="http://m.miracleart.cn/zh-tw/about/disclaimer.html">免責(zé)聲明</a>
                    <a href="http://m.miracleart.cn/zh-tw/update/article_0_1.html">Sitemap</a>
                </div>
                <div   id="377j5v51b"   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://m.miracleart.cn/" title="国产av日韩一区二区三区精品">国产av日韩一区二区三区精品</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="uoauy" class="pl_css_ganrao" style="display: none;"><xmp id="uoauy"><nav id="uoauy"><acronym id="uoauy"></acronym></nav></xmp><abbr id="uoauy"></abbr><th id="uoauy"></th><menu id="uoauy"></menu><dd id="uoauy"><nav id="uoauy"><option id="uoauy"></option></nav></dd><abbr id="uoauy"></abbr><option id="uoauy"></option><fieldset id="uoauy"></fieldset><dfn id="uoauy"><fieldset id="uoauy"><del id="uoauy"></del></fieldset></dfn><pre id="uoauy"><tr id="uoauy"><center id="uoauy"></center></tr></pre><option id="uoauy"><dfn id="uoauy"><li id="uoauy"></li></dfn></option><optgroup id="uoauy"></optgroup><button id="uoauy"></button><dd id="uoauy"></dd><pre id="uoauy"></pre><input id="uoauy"></input><xmp id="uoauy"><s id="uoauy"><acronym id="uoauy"></acronym></s></xmp><noframes id="uoauy"><pre id="uoauy"><small id="uoauy"></small></pre></noframes><samp id="uoauy"><table id="uoauy"><dfn id="uoauy"></dfn></table></samp><tr id="uoauy"></tr><tbody id="uoauy"><tr id="uoauy"><center id="uoauy"></center></tr></tbody><fieldset id="uoauy"><tr id="uoauy"><center id="uoauy"></center></tr></fieldset><dd id="uoauy"><menu id="uoauy"><pre id="uoauy"></pre></menu></dd><th id="uoauy"><blockquote id="uoauy"><table id="uoauy"></table></blockquote></th><samp id="uoauy"></samp><object id="uoauy"><button id="uoauy"><tbody id="uoauy"></tbody></button></object><rt id="uoauy"></rt><kbd id="uoauy"><source id="uoauy"><button id="uoauy"></button></source></kbd><table id="uoauy"></table><em id="uoauy"></em><bdo id="uoauy"></bdo><code id="uoauy"><delect id="uoauy"><s id="uoauy"></s></delect></code><tr id="uoauy"></tr><samp id="uoauy"></samp><cite id="uoauy"></cite><input id="uoauy"><tr id="uoauy"><li id="uoauy"></li></tr></input><ul id="uoauy"><input id="uoauy"><button id="uoauy"></button></input></ul><delect id="uoauy"></delect><wbr id="uoauy"></wbr><xmp id="uoauy"></xmp><source id="uoauy"></source><dfn id="uoauy"></dfn><li id="uoauy"></li><th id="uoauy"></th><table id="uoauy"></table><code id="uoauy"><del id="uoauy"><s id="uoauy"></s></del></code><dd id="uoauy"><button id="uoauy"><dl id="uoauy"></dl></button></dd><table id="uoauy"></table><small id="uoauy"><rt id="uoauy"><em id="uoauy"></em></rt></small></div>
        
        </html>