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

      Seperti yang anda lihat, kod ini menggunakan CDN untuk memasukkan fail CSS dan JavaScript. Oleh itu, anda perlu mengemas kini pautan untuk memasukkan fail yang anda muat turun sebelum ini. Dalam tanda, anda dapat melihat beberapa

      <\/code> diletakkan. Yang pertama mempunyai Qunit sebagai IDnya, yang digunakan oleh rangka kerja untuk memaparkan antara muka penggunanya, di mana keputusan ujian dipaparkan. Yang kedua
      <\/code>, yang ID adalah fixt Qunit, harus digunakan oleh anda (pemaju). Elemen ini membolehkan pemaju untuk menguji kod yang menambah, mengedit, atau menghilangkan elemen dari DOM tanpa bimbang tentang membersihkan DOM selepas setiap ujian. Jika anda meletakkan elemen yang anda buat oleh kod anda dalam
      <\/code> ini, QUnit akan mengendalikan tetapan semula untuk kami. Akhirnya, kami memasukkan fail tests.js yang mewakili fail yang mengandungi ujian. Nasihat saya adalah menggunakan fail untuk menyimpan ujian apabila bekerja dengan projek sebenar. Dalam demo langsung yang saya buat untuk tutorial ini, saya menggunakan JSBIN dan pastinya tidak membenarkan memuat naik fail. Jadi dalam demo, anda akan melihat bahawa saya telah menggabungkan kod ujian. Sekarang anda memahami apa yang dimaksudkan untuk menandakan setiap bahagian, buka halaman index.html dalam penyemak imbas anda untuk melihat apa yang berlaku. Jika semuanya berjalan lancar, anda harus melihat antara muka demo langsung seperti yang ditunjukkan di bawah, yang juga disediakan sebagai contoh JSBIN: QUNIT. Pada peringkat ini, satu -satunya bahagian antara muka ini yang berkaitan dengan kami adalah bahagian yang menunjukkan masa Qunit menghabiskan ujian pemprosesan, bilangan pernyataan yang ditakrifkan, dan bilangan ujian yang diluluskan dan gagal. Demonstrasi di atas menunjukkan bahawa kita tidak menentukan sebarang ujian. Mari selesaikan masalah ini. <\/p>\n

      bagaimana membuat ujian menggunakan qunit <\/strong> <\/p>\n

      QUnit menyediakan dua cara untuk membuat ujian baru: QUnit.test()<\/code> dan QUnit.asyncTest()<\/code>. Yang pertama digunakan untuk menguji kod berjalan serentak, manakala yang kedua digunakan untuk menguji kod tak segerak. Dalam bahagian ini, saya akan menerangkan cara membuat ujian untuk kod segerak. Tandatangan kaedah QUnit.test()<\/code> adalah seperti berikut: <\/p>\n

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

      Parameter pertama name<\/code> adalah rentetan yang membantu kita mengenal pasti ujian yang dibuat. Parameter kedua testFunction<\/code> adalah fungsi yang mengandungi pernyataan rangka kerja yang akan dilaksanakan. Rangka kerja ini melepasi parameter ke fungsi ini yang mendedahkan semua kaedah penegasan Qunit. Tukar keterangan ini ke kod, kami boleh mengemas kini fail tests.js dengan kod berikut: <\/p>\n

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

      Kod ini mencipta ujian baru yang dikenal pasti oleh rentetan \"Ujian Pertama Saya\" dan fungsi dengan badan kosong. Menambah ujian tanpa sebarang pernyataan tidak digunakan. Untuk menyelesaikan masalah ini, kita mesti mempelajari kaedah penegasan yang terdapat di Qunit. <\/p>\n

      Kaedah penegasan Qunit <\/strong> \n<\/p> Pernyataan adalah di tengah -tengah ujian perisian. Mereka membolehkan kami mengesahkan bahawa kod kami berfungsi seperti yang diharapkan. Di Qunit, kami mempunyai banyak cara untuk mengesahkan jangkaan ini. Mereka boleh diakses dalam ujian oleh parameter fungsi yang diluluskan kepada kaedah

      (dalam contoh sebelumnya, QUnit.test()<\/code>). Senarai berikut meringkaskan kaedah yang ada, serta fungsi dan tandatangan mereka: assert<\/code>

        \n
      • deepEqual(value, expected[, message])<\/code>: Perbandingan ketat rekursif yang berfungsi untuk semua jenis JavaScript. Jika value<\/code> dan expected<\/code> adalah sama dari segi sifat dan nilai, dan mempunyai prototaip yang sama, pernyataan itu diluluskan;\n<\/li>
      • : Parameter equal(value, expected[, message])<\/code> sama dengan value<\/code> yang disediakan menggunakan pengesahan perbandingan bukan tegas (==). expected<\/code>\n<\/li>
      • : Sama seperti notDeepEqual(value, expected[, message])<\/code>, tetapi ujian ketidaksamaan;\ndeepEqual()<\/code> <\/li>: Sama seperti
      • , tetapi ujian ketidaksamaan;\nnotEqual(value, expected[, message])<\/code> equal()<\/code>: Perbandingan ketat sifat dan nilai objek. Jika semua atribut dan nilai adalah sama, pernyataan itu berlalu;\n<\/li>
      • : Gunakan perbandingan ketat (===) pengesahan untuk menyediakan parameter propEqual(value, expected[, message])<\/code> sama dengan <\/li>;\n
      • strictEqual(value, expected[, message])<\/code>: Sama seperti value<\/code>, tetapi ujian ketidaksamaan;\nexpected<\/code> <\/li>: Sama seperti
      • , tetapi ujian ketidaksamaan;\nnotPropEqual(value, expected[, message])<\/code> propEqual()<\/code>: Jika parameter pertama adalah nilai yang benar, pernyataan itu berlalu;\n<\/li>
      • : Uji sama ada panggilan balik melemparkan pengecualian dan membandingkan kesilapan yang dibuang;\nnotStrictEqual(value, expected[, message])<\/code>\nstrictEqual()<\/code> Parameter yang diterima oleh kaedah ini adalah seperti berikut: <\/li>\n
      • \nok(value[, message])<\/code> <\/li>: Nilai yang dikembalikan oleh fungsi, kaedah, atau nilai yang disimpan dalam pembolehubah yang mesti disahkan;\n
      • throws(function[, expected][, message])<\/code>: Nilai yang akan diuji. Untuk kaedah <\/li>, ini boleh <\/ul>;\n

        <\/p>: rentetan pilihan yang menerangkan pernyataan;\n

        • : Fungsi yang akan dilaksanakan harus mengembalikan ralat;\nvalue<\/code>\n<\/li> Sekarang anda telah memahami kaedah dan parameter yang ada, sudah tiba masanya untuk menyemak beberapa kod. Daripada menulis pelbagai ujian untuk satu fungsi, saya cuba menghasilkan semula contoh yang lebih realistik. Bagaimanapun, ujian yang saya akan menunjukkan bahawa anda tidak boleh dianggap sebagai suite ujian lengkap, tetapi mereka harus memberi anda idea khusus untuk memulakannya. Untuk menulis ujian yang disebutkan, kita perlu menentukan beberapa kod untuk diuji. Dalam kes ini, saya akan menentukan objek literal seperti ini:
        • \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<p> seperti yang anda lihat, kami menentukan objek literal dengan tiga fungsi: <code>max()<\/code>, <code>isOdd()<\/code>, dan <code>sortObj()<\/code>. Yang pertama menerima bilangan parameter dan mengembalikan nilai maksimum. <code>isOdd()<\/code> Ambil nombor sebagai parameter dan ujian jika ia adalah nombor ganjil. <code>sortObj()<\/code> menerima pelbagai objek, idealnya harus ada atribut bernama Timestamp dan menyusunnya mengikut nilai atribut ini. Set ujian kemungkinan fungsi ini adalah seperti berikut: (Contoh kod ujian yang panjang ditinggalkan di sini kerana had perkataan telah melebihi, tetapi prinsipnya konsisten dengan penerangan sebelumnya) <\/p>\n<p> <strong> Tetapkan jangkaan <\/strong> <\/p>\n<p> Apabila membuat ujian, amalan terbaik adalah untuk menetapkan bilangan pernyataan yang kami harapkan untuk dilaksanakan. Melakukannya, jika satu atau lebih pernyataan tidak dilaksanakan, ujian akan gagal. Rangka kerja Qunit menyediakan kaedah <code>expect()<\/code> untuk tujuan ini. Kaedah ini amat berguna apabila berurusan dengan kod tak segerak, tetapi lebih baik menggunakannya semasa menguji fungsi segerak. Tandatangan kaedah <code>expect()<\/code> adalah seperti berikut: <\/p>\n<pre class='brush:php;toolbar:false;'>QUnit.test(name, testFunction)<\/pre>\nParameter <p> di mana <code>assertionsNumber<\/code> menentukan bilangan pernyataan yang dijangkakan. (Contoh mengemas kini kod ujian juga ditinggalkan di sini kerana had perkataan telah melebihi, tetapi prinsipnya konsisten dengan penerangan sebelumnya) <\/p>\n<p> <strong> QUnit PENGENALAN KESIMPULAN <\/strong> <\/p>\n<p> Dalam tutorial ini, saya memperkenalkan anda kepada dunia pengujian yang ajaib, terutamanya bagaimana untuk menguji kod JavaScript menggunakan QUNIT. Kami telah melihat betapa mudahnya untuk menubuhkan kerangka Qunit dan kaedah apa yang disediakan untuk menguji fungsi penyegerakan. Di samping itu, anda juga telah mempelajari set fungsi penegasan yang disediakan oleh rangka kerja untuk menguji kod tersebut. Akhirnya, saya menyebutkan pentingnya menetapkan bilangan pernyataan yang kami harapkan untuk dijalankan dan bagaimana untuk menetapkannya menggunakan kaedah <code>expect()<\/code>. Saya harap anda menikmati siaran ini dan anda akan mempertimbangkan mengintegrasikan Qunit ke dalam projek anda. (Bahagian Soalan Lazim ditinggalkan di sini kerana had perkataan telah melebihi) <\/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/ms/" 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="masyarakat" class="head_nava head_nava-template1">masyarakat</a>
                              <div   class="wjcelcm34c"   id="dropdown-template1" style="display: none;">
                                  <div   id="wjcelcm34c"   class="languagechoose">
                                      <a href="http://ipnx.cn/ms/article.html" title="Artikel" class="languagechoosea on">Artikel</a>
                                      <a href="http://ipnx.cn/ms/faq/zt" title="Topik" class="languagechoosea">Topik</a>
                                      <a href="http://ipnx.cn/ms/wenda.html" title="Soal Jawab" class="languagechoosea">Soal Jawab</a>
                                  </div>
                              </div>
                          </div>
          
                          <div   id="wjcelcm34c"   class="head_navs">
                              <a href="javascript:;" title="Belajar" class="head_nava head_nava-template1_1">Belajar</a>
                              <div   class="wjcelcm34c"   id="dropdown-template1_1" style="display: none;">
                                  <div   id="wjcelcm34c"   class="languagechoose">
                                      <a href="http://ipnx.cn/ms/course.html" title="Kursus" class="languagechoosea on">Kursus</a>
                                      <a href="http://ipnx.cn/ms/dic/" title="Kamus Pengaturcaraan" class="languagechoosea">Kamus Pengaturcaraan</a>
                                  </div>
                              </div>
                          </div>
          
                          <div   id="wjcelcm34c"   class="head_navs">
                              <a href="javascript:;" title="Perpustakaan Alatan" class="head_nava head_nava-template1_2">Perpustakaan Alatan</a>
                              <div   class="wjcelcm34c"   id="dropdown-template1_2" style="display: none;">
                                  <div   id="wjcelcm34c"   class="languagechoose">
                                      <a href="http://ipnx.cn/ms/toolset/development-tools" title="Alat pembangunan" class="languagechoosea on">Alat pembangunan</a>
                                      <a href="http://ipnx.cn/ms/toolset/website-source-code" title="Kod sumber laman web" class="languagechoosea">Kod sumber laman web</a>
                                      <a href="http://ipnx.cn/ms/toolset/php-libraries" title="Perpustakaan PHP" class="languagechoosea">Perpustakaan PHP</a>
                                      <a href="http://ipnx.cn/ms/toolset/js-special-effects" title="Kesan khas JS" class="languagechoosea on">Kesan khas JS</a>
                                      <a href="http://ipnx.cn/ms/toolset/website-materials" title="Bahan laman web" class="languagechoosea on">Bahan laman web</a>
                                      <a href="http://ipnx.cn/ms/toolset/extension-plug-ins" title="Pemalam sambungan" class="languagechoosea on">Pemalam sambungan</a>
                                  </div>
                              </div>
                          </div>
          
                          <div   id="wjcelcm34c"   class="head_navs">
                              <a href="http://ipnx.cn/ms/ai" title="Alat AI" class="head_nava head_nava-template1_3">Alat AI</a>
                          </div>
          
                          <div   id="wjcelcm34c"   class="head_navs">
                              <a href="javascript:;" title="Masa lapang" class="head_nava head_nava-template1_3">Masa lapang</a>
                              <div   class="wjcelcm34c"   id="dropdown-template1_3" style="display: none;">
                                  <div   id="wjcelcm34c"   class="languagechoose">
                                      <a href="http://ipnx.cn/ms/game" title="Muat Turun Permainan" class="languagechoosea on">Muat Turun Permainan</a>
                                      <a href="http://ipnx.cn/ms/mobile-game-tutorial/" title="Tutorial Permainan" class="languagechoosea">Tutorial Permainan</a>
          
                                  </div>
                              </div>
                          </div>
                      </div>
                  </div>
                              <div   id="wjcelcm34c"   class="head_search">
                          <input id="key_words"  onkeydown="if (event.keyCode == 13) searchs('ms')" class="search-input" type="text" autocomplete="off" name="keywords" required="required" placeholder="Block,address,transaction,news" value="">
                          <a href="javascript:;" title="cari"  onclick="searchs('ms')"><img src="/static/imghw/find.png" alt="cari"></a>
                      </div>
                          <div   id="wjcelcm34c"   class="head_right">
                      <div   id="wjcelcm34c"   class="haed_language">
                          <a href="javascript:;" class="layui-btn haed_language_btn">Melayu<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="簡體中文" class="languagechoosea">簡體中文</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:setlang('ja');" title="日本語" class="languagechoosea">日本語</a>
                                                          <a href="javascript:setlang('ko');" title="???" class="languagechoosea">???</a>
                                                          <a href="javascript:;" 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/ms/" title="Rumah"
          							class="phpgenera_Details_mainL1a">Rumah</a>
          						<img src="/static/imghw/top_right.png" alt="" />
          												<a href="http://ipnx.cn/ms/web-designer.html"
          							class="phpgenera_Details_mainL1a">hujung hadapan web</a>
          						<img src="/static/imghw/top_right.png" alt="" />
          												<a href="http://ipnx.cn/ms/js-tutorial.html"
          							class="phpgenera_Details_mainL1a">tutorial js</a>
          						<img src="/static/imghw/top_right.png" alt="" />
          						<span>Bermula dengan Qunit</span>
          					</div>
          					
          					<div   id="wjcelcm34c"   class="Articlelist_txts">
          						<div   id="wjcelcm34c"   class="Articlelist_txts_info">
          							<h1 class="Articlelist_txts_title">Bermula dengan Qunit</h1>
          							<div   id="wjcelcm34c"   class="Articlelist_txts_info_head">
          								<div   id="wjcelcm34c"   class="author_info">
          									<a href="http://ipnx.cn/ms/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/ms/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 "> <s>
          </s></p> Ujian perisian adalah proses menilai perisian untuk mengesan perbezaan antara output yang dijangkakan dan output sebenar set input yang diberikan. Ujian, terutamanya ujian unit, harus menjadi bahagian penting dari setiap kehidupan pemaju. Malangnya, ramai pemaju kelihatan takut dengan aktiviti tersebut. Dalam JavaScript, kita boleh memilih dari banyak kerangka untuk menguji asas kod kami. Sebagai contoh, Mocha, Selenium, dan Qunit. Dalam artikel ini, saya akan memperkenalkan anda kepada Qunit. Qunit adalah rangka kerja ujian unit yang dibangunkan dan dikekalkan oleh pasukan jQuery, yang juga di belakang projek -projek seperti JQuery dan JQuery UI. <p>
          </p> <p> mata utama <strong> </strong>
          </p>
          <ul> QUnit dibangunkan dan dikekalkan oleh pasukan jQuery dan merupakan rangka kerja ujian unit JavaScript yang popular untuk kemudahan penggunaan dan kesederhanaan persediaan. <li>
          </li> Untuk memulakan dengan QUnit, muat turun versi terkini JavaScript dan fail CSS dari laman web QUNIT dan masukkannya dalam fail HTML anda. <li>
          </li> QUnit menyediakan dua cara untuk membuat ujian baru: <li> untuk kod segerak dan <code>QUnit.test()</code> untuk kod tak segerak. Ujian ini mengandungi pernyataan yang mengesahkan bahawa kod berfungsi seperti yang diharapkan. <code>QUnit.asyncTest()</code>
          </li> QUnit menyediakan pelbagai kaedah penegasan termasuk <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> , <st>, <st>, <code>throws()</code> dan </st></st>
          </li>. Setiap kaedah mempunyai tujuan khusus dan menerima parameter tertentu. <li>
          <code>expect()</code> Apabila membuat ujian dengan QUNIT, amalan terbaik adalah untuk menetapkan bilangan pernyataan yang akan dilaksanakan menggunakan kaedah </li>. Ini membantu memastikan semua pernyataan dilaksanakan dan jika satu atau lebih pernyataan tidak dilaksanakan, ujian akan gagal. </ul>
          <p>
          <strong> </strong> Tetapan QUnit </p> <p>
          </p> Salah satu sebab utama banyak pemaju menggunakan Qunit adalah kemudahan penggunaannya. Bermula dengan rangka kerja ini sangat mudah dan anda boleh menguasai konsep utama dalam beberapa jam. Langkah pertama untuk menggunakan QUnit jelas bermula dengan memuat turunnya. Terdapat beberapa cara untuk melakukan ini: Muat turun secara manual dari laman web, gunakan CDN, gunakan Bower, atau gunakan NPM. Nasihat saya ialah anda tidak boleh bergantung kepada CDN untuk menguji kod anda melainkan jika anda sedang membangunkan demo hidup yang mudah. Jadi berpegang pada pilihan lain. Untuk artikel ini, saya tidak mahu menetapkan sebarang prasyarat (baca Bower dan NPM), jadi kami akan mengambil pendekatan pertama. Oleh itu, lawati laman web QUNIT dan muat turun versi terkini fail JavaScript (bernama QUNIT-1.14.0.JS) dan fail CSS (bernama QUNIT-1.14.0.CSS). Letakkannya dalam folder di mana anda juga akan membuat index.html. Dalam fail ini, kami akan meletakkan kod HTML yang dipaparkan di halaman utama laman web, dan saya akan mengulanginya di bawah untuk kemudahan. <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> Seperti yang anda lihat, kod ini menggunakan CDN untuk memasukkan fail CSS dan JavaScript. Oleh itu, anda perlu mengemas kini pautan untuk memasukkan fail yang anda muat turun sebelum ini. Dalam tanda, anda dapat melihat beberapa <code><div></code> diletakkan. Yang pertama mempunyai Qunit sebagai IDnya, yang digunakan oleh rangka kerja untuk memaparkan antara muka penggunanya, di mana keputusan ujian dipaparkan. Yang kedua <code><div></code>, yang ID adalah fixt Qunit, harus digunakan oleh anda (pemaju). Elemen ini membolehkan pemaju untuk menguji kod yang menambah, mengedit, atau menghilangkan elemen dari DOM tanpa bimbang tentang membersihkan DOM selepas setiap ujian. Jika anda meletakkan elemen yang anda buat oleh kod anda dalam <code><div></code> ini, QUnit akan mengendalikan tetapan semula untuk kami. Akhirnya, kami memasukkan fail tests.js yang mewakili fail yang mengandungi ujian. Nasihat saya adalah menggunakan fail untuk menyimpan ujian apabila bekerja dengan projek sebenar. Dalam demo langsung yang saya buat untuk tutorial ini, saya menggunakan JSBIN dan pastinya tidak membenarkan memuat naik fail. Jadi dalam demo, anda akan melihat bahawa saya telah menggabungkan kod ujian. Sekarang anda memahami apa yang dimaksudkan untuk menandakan setiap bahagian, buka halaman index.html dalam penyemak imbas anda untuk melihat apa yang berlaku. Jika semuanya berjalan lancar, anda harus melihat antara muka demo langsung seperti yang ditunjukkan di bawah, yang juga disediakan sebagai contoh JSBIN: QUNIT. Pada peringkat ini, satu -satunya bahagian antara muka ini yang berkaitan dengan kami adalah bahagian yang menunjukkan masa Qunit menghabiskan ujian pemprosesan, bilangan pernyataan yang ditakrifkan, dan bilangan ujian yang diluluskan dan gagal. Demonstrasi di atas menunjukkan bahawa kita tidak menentukan sebarang ujian. Mari selesaikan masalah ini. </p>
          <p> <strong> bagaimana membuat ujian menggunakan qunit </strong> </p>
          <p> QUnit menyediakan dua cara untuk membuat ujian baru: <code>QUnit.test()</code> dan <code>QUnit.asyncTest()</code>. Yang pertama digunakan untuk menguji kod berjalan serentak, manakala yang kedua digunakan untuk menguji kod tak segerak. Dalam bahagian ini, saya akan menerangkan cara membuat ujian untuk kod segerak. Tandatangan kaedah <code>QUnit.test()</code> adalah seperti berikut: </p>
          <pre class='brush:php;toolbar:false;'>QUnit.test(name, testFunction)</pre>
          <p> Parameter pertama <code>name</code> adalah rentetan yang membantu kita mengenal pasti ujian yang dibuat. Parameter kedua <code>testFunction</code> adalah fungsi yang mengandungi pernyataan rangka kerja yang akan dilaksanakan. Rangka kerja ini melepasi parameter ke fungsi ini yang mendedahkan semua kaedah penegasan Qunit. Tukar keterangan ini ke kod, kami boleh mengemas kini fail tests.js dengan kod berikut: </p>
          <pre class='brush:php;toolbar:false;'>QUnit.test('我的第一個(gè)測試', function(assert) {
             // 斷言在這里...
          });</pre>
          <p> Kod ini mencipta ujian baru yang dikenal pasti oleh rentetan "Ujian Pertama Saya" dan fungsi dengan badan kosong. Menambah ujian tanpa sebarang pernyataan tidak digunakan. Untuk menyelesaikan masalah ini, kita mesti mempelajari kaedah penegasan yang terdapat di Qunit. </p>
          <p> <strong> Kaedah penegasan Qunit </strong> <s>
          </p> Pernyataan adalah di tengah -tengah ujian perisian. Mereka membolehkan kami mengesahkan bahawa kod kami berfungsi seperti yang diharapkan. Di Qunit, kami mempunyai banyak cara untuk mengesahkan jangkaan ini. Mereka boleh diakses dalam ujian oleh parameter fungsi yang diluluskan kepada kaedah <p> (dalam contoh sebelumnya, <code>QUnit.test()</code>). Senarai berikut meringkaskan kaedah yang ada, serta fungsi dan tandatangan mereka: <code>assert</code><ul>
          <li> <code>deepEqual(value, expected[, message])</code>: Perbandingan ketat rekursif yang berfungsi untuk semua jenis JavaScript. Jika <code>value</code> dan <code>expected</code> adalah sama dari segi sifat dan nilai, dan mempunyai prototaip yang sama, pernyataan itu diluluskan;
          </li> <li>: Parameter <code>equal(value, expected[, message])</code> sama dengan <code>value</code> yang disediakan menggunakan pengesahan perbandingan bukan tegas (==). <code>expected</code>
          </li> <li>: Sama seperti <code>notDeepEqual(value, expected[, message])</code>, tetapi ujian ketidaksamaan;
          <code>deepEqual()</code> </li>: Sama seperti <li>, tetapi ujian ketidaksamaan;
          <code>notEqual(value, expected[, message])</code> <code>equal()</code>: Perbandingan ketat sifat dan nilai objek. Jika semua atribut dan nilai adalah sama, pernyataan itu berlalu;
          </li> <li>: Gunakan perbandingan ketat (===) pengesahan untuk menyediakan parameter <code>propEqual(value, expected[, message])</code> sama dengan </li>;
          <li> <code>strictEqual(value, expected[, message])</code>: Sama seperti <code>value</code>, tetapi ujian ketidaksamaan;
          <code>expected</code> </li>: Sama seperti <li>, tetapi ujian ketidaksamaan;
          <code>notPropEqual(value, expected[, message])</code> <code>propEqual()</code>: Jika parameter pertama adalah nilai yang benar, pernyataan itu berlalu;
          </li> <li>: Uji sama ada panggilan balik melemparkan pengecualian dan membandingkan kesilapan yang dibuang;
          <code>notStrictEqual(value, expected[, message])</code>
          <code>strictEqual()</code> Parameter yang diterima oleh kaedah ini adalah seperti berikut: </li>
          <li>
          <code>ok(value[, message])</code> </li>: Nilai yang dikembalikan oleh fungsi, kaedah, atau nilai yang disimpan dalam pembolehubah yang mesti disahkan;
          <li> <code>throws(function[, expected][, message])</code>: Nilai yang akan diuji. Untuk kaedah </li>, ini boleh </ul>;
          <p> </p>: rentetan pilihan yang menerangkan pernyataan;
          <ul> <li>: Fungsi yang akan dilaksanakan harus mengembalikan ralat;
          <code>value</code>
          </li> Sekarang anda telah memahami kaedah dan parameter yang ada, sudah tiba masanya untuk menyemak beberapa kod. Daripada menulis pelbagai ujian untuk satu fungsi, saya cuba menghasilkan semula contoh yang lebih realistik. Bagaimanapun, ujian yang saya akan menunjukkan bahawa anda tidak boleh dianggap sebagai suite ujian lengkap, tetapi mereka harus memberi anda idea khusus untuk memulakannya. Untuk menulis ujian yang disebutkan, kita perlu menentukan beberapa kod untuk diuji. Dalam kes ini, saya akan menentukan objek literal seperti ini: <li><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> seperti yang anda lihat, kami menentukan objek literal dengan tiga fungsi: <code>max()</code>, <code>isOdd()</code>, dan <code>sortObj()</code>. Yang pertama menerima bilangan parameter dan mengembalikan nilai maksimum. <code>isOdd()</code> Ambil nombor sebagai parameter dan ujian jika ia adalah nombor ganjil. <code>sortObj()</code> menerima pelbagai objek, idealnya harus ada atribut bernama Timestamp dan menyusunnya mengikut nilai atribut ini. Set ujian kemungkinan fungsi ini adalah seperti berikut: (Contoh kod ujian yang panjang ditinggalkan di sini kerana had perkataan telah melebihi, tetapi prinsipnya konsisten dengan penerangan sebelumnya) </p>
          <p> <strong> Tetapkan jangkaan </strong> </p>
          <p> Apabila membuat ujian, amalan terbaik adalah untuk menetapkan bilangan pernyataan yang kami harapkan untuk dilaksanakan. Melakukannya, jika satu atau lebih pernyataan tidak dilaksanakan, ujian akan gagal. Rangka kerja Qunit menyediakan kaedah <code>expect()</code> untuk tujuan ini. Kaedah ini amat berguna apabila berurusan dengan kod tak segerak, tetapi lebih baik menggunakannya semasa menguji fungsi segerak. Tandatangan kaedah <code>expect()</code> adalah seperti berikut: </p>
          <pre class='brush:php;toolbar:false;'>QUnit.test(name, testFunction)</pre>
          Parameter <p> di mana <code>assertionsNumber</code> menentukan bilangan pernyataan yang dijangkakan. (Contoh mengemas kini kod ujian juga ditinggalkan di sini kerana had perkataan telah melebihi, tetapi prinsipnya konsisten dengan penerangan sebelumnya) </p>
          <p> <strong> QUnit PENGENALAN KESIMPULAN </strong> </p>
          <p> Dalam tutorial ini, saya memperkenalkan anda kepada dunia pengujian yang ajaib, terutamanya bagaimana untuk menguji kod JavaScript menggunakan QUNIT. Kami telah melihat betapa mudahnya untuk menubuhkan kerangka Qunit dan kaedah apa yang disediakan untuk menguji fungsi penyegerakan. Di samping itu, anda juga telah mempelajari set fungsi penegasan yang disediakan oleh rangka kerja untuk menguji kod tersebut. Akhirnya, saya menyebutkan pentingnya menetapkan bilangan pernyataan yang kami harapkan untuk dijalankan dan bagaimana untuk menetapkannya menggunakan kaedah <code>expect()</code>. Saya harap anda menikmati siaran ini dan anda akan mempertimbangkan mengintegrasikan Qunit ke dalam projek anda. (Bahagian Soalan Lazim ditinggalkan di sini kerana had perkataan telah melebihi) </p><p>Atas ialah kandungan terperinci Bermula dengan Qunit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!</p>
          
          
          						</div>
          					</div>
          					<div   id="wjcelcm34c"   class="wzconShengming_sp">
          						<div   id="wjcelcm34c"   class="bzsmdiv_sp">Kenyataan Laman Web ini</div>
          						<div>Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi 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="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>Artikel Panas</h2>
          							</div>
          							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottom">
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796832397.html" title="Panduan Membina Rumput Wonder | Uma Musume Pretty Derby" class="phpgenera_Details_mainR4_bottom_title">Panduan Membina Rumput Wonder | Uma Musume Pretty Derby</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>4 minggu yang lalu</span>
          										<span>By Jack chen</span>
          									</div>
          								</div>
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796833110.html" title="<??>: 99 Malam di Hutan - Semua Lencana Dan Cara Membuka Kunci Mereka" class="phpgenera_Details_mainR4_bottom_title"><??>: 99 Malam di Hutan - Semua Lencana Dan Cara Membuka Kunci Mereka</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>3 minggu yang lalu</span>
          										<span>By DDD</span>
          									</div>
          								</div>
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796831605.html" title="Jadual Banner Pretty Derby Uma Musume (Julai 2025)" class="phpgenera_Details_mainR4_bottom_title">Jadual Banner Pretty Derby Uma Musume (Julai 2025)</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>4 minggu yang lalu</span>
          										<span>By Jack chen</span>
          									</div>
          								</div>
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796831905.html" title="Keselamatan Windows kosong atau tidak menunjukkan pilihan" class="phpgenera_Details_mainR4_bottom_title">Keselamatan Windows kosong atau tidak menunjukkan pilihan</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>4 minggu yang lalu</span>
          										<span>By 下次還敢</span>
          									</div>
          								</div>
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796836699.html" title="Panduan Suhu Rimworld Odyssey untuk Kapal dan Gravtech" class="phpgenera_Details_mainR4_bottom_title">Panduan Suhu Rimworld Odyssey untuk Kapal dan Gravtech</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>3 minggu yang lalu</span>
          										<span>By Jack chen</span>
          									</div>
          								</div>
          														</div>
          							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
          								<a href="http://ipnx.cn/ms/article.html">Tunjukkan Lagi</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>Alat AI Hot</h2>
          								</div>
          								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_bottom">
          																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/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/ms/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_title">
          													<h3>Undress AI Tool</h3>
          												</a>
          												<p>Gambar buka pakaian secara percuma</p>
          											</div>
          										</div>
          																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/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/ms/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_title">
          													<h3>Undresser.AI Undress</h3>
          												</a>
          												<p>Apl berkuasa AI untuk mencipta foto bogel yang realistik</p>
          											</div>
          										</div>
          																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/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/ms/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_title">
          													<h3>AI Clothes Remover</h3>
          												</a>
          												<p>Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.</p>
          											</div>
          										</div>
          																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/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/ms/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_title">
          													<h3>Clothoff.io</h3>
          												</a>
          												<p>Penyingkiran pakaian AI</p>
          											</div>
          										</div>
          																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/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/ms/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_title">
          													<h3>Video Face Swap</h3>
          												</a>
          												<p>Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!</p>
          											</div>
          										</div>
          																</div>
          								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
          									<a href="http://ipnx.cn/ms/ai">Tunjukkan Lagi</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>Artikel Panas</h2>
          							</div>
          							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottom">
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796832397.html" title="Panduan Membina Rumput Wonder | Uma Musume Pretty Derby" class="phpgenera_Details_mainR4_bottom_title">Panduan Membina Rumput Wonder | Uma Musume Pretty Derby</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>4 minggu yang lalu</span>
          										<span>By Jack chen</span>
          									</div>
          								</div>
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796833110.html" title="<??>: 99 Malam di Hutan - Semua Lencana Dan Cara Membuka Kunci Mereka" class="phpgenera_Details_mainR4_bottom_title"><??>: 99 Malam di Hutan - Semua Lencana Dan Cara Membuka Kunci Mereka</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>3 minggu yang lalu</span>
          										<span>By DDD</span>
          									</div>
          								</div>
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796831605.html" title="Jadual Banner Pretty Derby Uma Musume (Julai 2025)" class="phpgenera_Details_mainR4_bottom_title">Jadual Banner Pretty Derby Uma Musume (Julai 2025)</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>4 minggu yang lalu</span>
          										<span>By Jack chen</span>
          									</div>
          								</div>
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796831905.html" title="Keselamatan Windows kosong atau tidak menunjukkan pilihan" class="phpgenera_Details_mainR4_bottom_title">Keselamatan Windows kosong atau tidak menunjukkan pilihan</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>4 minggu yang lalu</span>
          										<span>By 下次還敢</span>
          									</div>
          								</div>
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/1796836699.html" title="Panduan Suhu Rimworld Odyssey untuk Kapal dan Gravtech" class="phpgenera_Details_mainR4_bottom_title">Panduan Suhu Rimworld Odyssey untuk Kapal dan Gravtech</a>
          									<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms_info">
          										<span>3 minggu yang lalu</span>
          										<span>By Jack chen</span>
          									</div>
          								</div>
          														</div>
          							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
          								<a href="http://ipnx.cn/ms/article.html">Tunjukkan Lagi</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>Alat panas</h2>
          								</div>
          								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_bottom">
          																		<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/toolset/development-tools/92" title="Notepad++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="Notepad++7.3.1" />
          											</a>
          											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
          												<a href="http://ipnx.cn/ms/toolset/development-tools/92" title="Notepad++7.3.1" class="phpmain_tab2_mids_title">
          													<h3>Notepad++7.3.1</h3>
          												</a>
          												<p>Editor kod yang mudah digunakan dan percuma</p>
          											</div>
          										</div>
          																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/toolset/development-tools/93" title="SublimeText3 versi Cina" 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 versi Cina" />
          											</a>
          											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
          												<a href="http://ipnx.cn/ms/toolset/development-tools/93" title="SublimeText3 versi Cina" class="phpmain_tab2_mids_title">
          													<h3>SublimeText3 versi Cina</h3>
          												</a>
          												<p>Versi Cina, sangat mudah digunakan</p>
          											</div>
          										</div>
          																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/toolset/development-tools/121" title="Hantar Studio 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="Hantar Studio 13.0.1" />
          											</a>
          											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
          												<a href="http://ipnx.cn/ms/toolset/development-tools/121" title="Hantar Studio 13.0.1" class="phpmain_tab2_mids_title">
          													<h3>Hantar Studio 13.0.1</h3>
          												</a>
          												<p>Persekitaran pembangunan bersepadu PHP yang berkuasa</p>
          											</div>
          										</div>
          																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/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="wjcelcm34c"   class="phpmain_tab2_mids_info">
          												<a href="http://ipnx.cn/ms/toolset/development-tools/469" title="Dreamweaver CS6" class="phpmain_tab2_mids_title">
          													<h3>Dreamweaver CS6</h3>
          												</a>
          												<p>Alat pembangunan web visual</p>
          											</div>
          										</div>
          																			<div   id="wjcelcm34c"   class="phpmain_tab2_mids_top">
          											<a href="http://ipnx.cn/ms/toolset/development-tools/500" title="SublimeText3 versi 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 versi Mac" />
          											</a>
          											<div   id="wjcelcm34c"   class="phpmain_tab2_mids_info">
          												<a href="http://ipnx.cn/ms/toolset/development-tools/500" title="SublimeText3 versi Mac" class="phpmain_tab2_mids_title">
          													<h3>SublimeText3 versi Mac</h3>
          												</a>
          												<p>Perisian penyuntingan kod peringkat Tuhan (SublimeText3)</p>
          											</div>
          										</div>
          																	</div>
          								<div   id="wjcelcm34c"   class="phpgenera_Details_mainR3_more">
          									<a href="http://ipnx.cn/ms/ai">Tunjukkan Lagi</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>Topik panas</h2>
          							</div>
          							<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottom">
          															<div   id="wjcelcm34c"   class="phpgenera_Details_mainR4_bottoms">
          									<a href="http://ipnx.cn/ms/faq/laravel-tutori" title="Tutorial Laravel" class="phpgenera_Details_mainR4_bottom_title">Tutorial 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/ms/faq/php-tutorial" title="Tutorial PHP" class="phpgenera_Details_mainR4_bottom_title">Tutorial 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/ms/faq/zt">Tunjukkan Lagi</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/ms/faq/1796836217.html" title="Bagaimana membuat permintaan HTTP di node.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/175234432058757.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="Bagaimana membuat permintaan HTTP di node.js?" />
          								</a>
          								<a href="http://ipnx.cn/ms/faq/1796836217.html" title="Bagaimana membuat permintaan HTTP di node.js?" class="phphistorical_Version2_mids_title">Bagaimana membuat permintaan HTTP di node.js?</a>
          								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 13, 2025 am	 02:18 AM</span>
          								<p class="Articlelist_txts_p">Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah</p>
          							</div>
          														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
          								<a href="http://ipnx.cn/ms/faq/1796836292.html" title="Jenis Data JavaScript: Rujukan primitif vs" 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="Jenis Data JavaScript: Rujukan primitif vs" />
          								</a>
          								<a href="http://ipnx.cn/ms/faq/1796836292.html" title="Jenis Data JavaScript: Rujukan primitif vs" class="phphistorical_Version2_mids_title">Jenis Data JavaScript: Rujukan primitif vs</a>
          								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 13, 2025 am	 02:43 AM</span>
          								<p class="Articlelist_txts_p">Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.</p>
          							</div>
          														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
          								<a href="http://ipnx.cn/ms/faq/1796830657.html" title="React vs angular vs vue: Rangka kerja JS mana yang terbaik?" 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: Rangka kerja JS mana yang terbaik?" />
          								</a>
          								<a href="http://ipnx.cn/ms/faq/1796830657.html" title="React vs angular vs vue: Rangka kerja JS mana yang terbaik?" class="phphistorical_Version2_mids_title">React vs angular vs vue: Rangka kerja JS mana yang terbaik?</a>
          								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 05, 2025 am	 02:24 AM</span>
          								<p class="Articlelist_txts_p">Rangka kerja JavaScript mana yang terbaik? Jawapannya ialah memilih yang paling sesuai mengikut keperluan anda. 1. REACT adalah fleksibel dan bebas, sesuai untuk projek sederhana dan besar yang memerlukan penyesuaian tinggi dan keupayaan seni bina pasukan; 2. Angular menyediakan penyelesaian lengkap, sesuai untuk aplikasi peringkat perusahaan dan penyelenggaraan jangka panjang; 3. Vue mudah digunakan, sesuai untuk projek kecil dan sederhana atau perkembangan pesat. Di samping itu, sama ada terdapat timbunan teknologi sedia ada, saiz pasukan, kitaran hayat projek dan sama ada SSR diperlukan juga faktor penting dalam memilih rangka kerja. Singkatnya, tidak ada kerangka terbaik, pilihan terbaik adalah yang sesuai dengan keperluan anda.</p>
          							</div>
          														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
          								<a href="http://ipnx.cn/ms/faq/1796832745.html" title="Objek Masa JavaScript, seseorang membina eactexe, laman web lebih cepat di Google Chrome, dll." 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="Objek Masa JavaScript, seseorang membina eactexe, laman web lebih cepat di Google Chrome, dll." />
          								</a>
          								<a href="http://ipnx.cn/ms/faq/1796832745.html" title="Objek Masa JavaScript, seseorang membina eactexe, laman web lebih cepat di Google Chrome, dll." class="phphistorical_Version2_mids_title">Objek Masa JavaScript, seseorang membina eactexe, laman web lebih cepat di Google Chrome, dll.</a>
          								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 08, 2025 pm	 02:27 PM</span>
          								<p class="Articlelist_txts_p">Helo, pemaju JavaScript! Selamat datang ke berita JavaScript minggu ini! Minggu ini kami akan memberi tumpuan kepada: Pertikaian tanda dagangan Oracle dengan Deno, objek masa JavaScript baru disokong oleh pelayar, kemas kini Google Chrome, dan beberapa alat pemaju yang kuat. Mari mulakan! Pertikaian tanda dagangan Oracle dengan percubaan Deno Oracle untuk mendaftarkan tanda dagangan "JavaScript" telah menyebabkan kontroversi. Ryan Dahl, pencipta Node.js dan Deno, telah memfailkan petisyen untuk membatalkan tanda dagangan, dan dia percaya bahawa JavaScript adalah standard terbuka dan tidak boleh digunakan oleh Oracle</p>
          							</div>
          														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
          								<a href="http://ipnx.cn/ms/faq/1796832608.html" title="Mengendalikan Janji: Chaining, Pengendalian Kesalahan, dan Janji Gabungan di 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="Mengendalikan Janji: Chaining, Pengendalian Kesalahan, dan Janji Gabungan di JavaScript" />
          								</a>
          								<a href="http://ipnx.cn/ms/faq/1796832608.html" title="Mengendalikan Janji: Chaining, Pengendalian Kesalahan, dan Janji Gabungan di JavaScript" class="phphistorical_Version2_mids_title">Mengendalikan Janji: Chaining, Pengendalian Kesalahan, dan Janji Gabungan di JavaScript</a>
          								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 08, 2025 am	 02:40 AM</span>
          								<p class="Articlelist_txts_p">Janji adalah mekanisme teras untuk mengendalikan operasi tak segerak dalam JavaScript. Memahami panggilan rantaian, pengendalian ralat dan gabungan adalah kunci untuk menguasai aplikasi mereka. 1. Panggilan rantai mengembalikan janji baru melalui .then () untuk merealisasikan persamaan proses tak segerak. Setiap .then () menerima hasil sebelumnya dan boleh mengembalikan nilai atau janji; 2. Pengendalian ralat harus menggunakan .catch () untuk menangkap pengecualian untuk mengelakkan kegagalan senyap, dan boleh mengembalikan nilai lalai dalam tangkapan untuk meneruskan proses; 3. Gabungan seperti janji.all () (berjaya hanya berjaya selepas semua kejayaan), janji.race () (penyempurnaan pertama dikembalikan) dan janji.allsettled () (menunggu semua penyelesaian)</p>
          							</div>
          														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
          								<a href="http://ipnx.cn/ms/faq/1796832618.html" title="Apakah API cache dan bagaimana ia digunakan dengan pekerja perkhidmatan?" 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="Apakah API cache dan bagaimana ia digunakan dengan pekerja perkhidmatan?" />
          								</a>
          								<a href="http://ipnx.cn/ms/faq/1796832618.html" title="Apakah API cache dan bagaimana ia digunakan dengan pekerja perkhidmatan?" class="phphistorical_Version2_mids_title">Apakah API cache dan bagaimana ia digunakan dengan pekerja perkhidmatan?</a>
          								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 08, 2025 am	 02:43 AM</span>
          								<p class="Articlelist_txts_p">CACHEAPI adalah alat yang disediakan oleh penyemak imbas kepada permintaan rangkaian cache, yang sering digunakan bersempena dengan ServiceWorker untuk meningkatkan prestasi laman web dan pengalaman luar talian. 1. Ia membolehkan pemaju menyimpan sumber secara manual seperti skrip, helaian gaya, gambar, dan lain -lain; 2. Ia boleh memadankan tindak balas cache mengikut permintaan; 3. Ia menyokong memotong cache tertentu atau membersihkan seluruh cache; 4. Ia boleh melaksanakan keutamaan cache atau strategi keutamaan rangkaian melalui perkhidmatan pekerja yang mendengar acara mengambil; 5. Ia sering digunakan untuk sokongan luar talian, mempercepat kelajuan akses berulang, sumber utama dan kandungan kemas kini latar belakang; 6. Apabila menggunakannya, anda perlu memberi perhatian kepada kawalan versi cache, sekatan penyimpanan dan perbezaan dari mekanisme caching HTTP.</p>
          							</div>
          														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
          								<a href="http://ipnx.cn/ms/faq/1796831296.html" title="Memanfaatkan array.prototype Kaedah untuk manipulasi data dalam 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/175174058098308.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="Memanfaatkan array.prototype Kaedah untuk manipulasi data dalam javascript" />
          								</a>
          								<a href="http://ipnx.cn/ms/faq/1796831296.html" title="Memanfaatkan array.prototype Kaedah untuk manipulasi data dalam javascript" class="phphistorical_Version2_mids_title">Memanfaatkan array.prototype Kaedah untuk manipulasi data dalam javascript</a>
          								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 06, 2025 am	 02:36 AM</span>
          								<p class="Articlelist_txts_p">Kaedah terbina dalam JavaScript seperti .map (), .filter () dan .reduce () dapat memudahkan pemprosesan data; 1) .map () digunakan untuk menukar elemen satu hingga satu untuk menghasilkan tatasusunan baru; 2) .filter () digunakan untuk menapis elemen mengikut keadaan; 3) .reduce () digunakan untuk mengagregatkan data sebagai nilai tunggal; Penyalahgunaan harus dielakkan apabila digunakan, mengakibatkan kesan sampingan atau masalah prestasi.</p>
          							</div>
          														<div   id="wjcelcm34c"   class="phphistorical_Version2_mids">
          								<a href="http://ipnx.cn/ms/faq/1796832563.html" title="JS Roundup: menyelam jauh ke dalam gelung acara 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 Roundup: menyelam jauh ke dalam gelung acara JavaScript" />
          								</a>
          								<a href="http://ipnx.cn/ms/faq/1796832563.html" title="JS Roundup: menyelam jauh ke dalam gelung acara JavaScript" class="phphistorical_Version2_mids_title">JS Roundup: menyelam jauh ke dalam gelung acara JavaScript</a>
          								<span id="wjcelcm34c"    class="Articlelist_txts_time">Jul 08, 2025 am	 02:24 AM</span>
          								<p class="Articlelist_txts_p">Gelung acara JavaScript menguruskan operasi tak segerak dengan menyelaraskan susunan panggilan, webapis, dan barisan tugas. 1. Stack panggilan melaksanakan kod segerak, dan ketika menghadapi tugas -tugas yang tidak segerak, ia diserahkan kepada Webapi untuk diproses; 2. Selepas Webapi melengkapkan tugas di latar belakang, ia meletakkan panggil balik ke dalam barisan yang sama (tugas makro atau tugas mikro); 3. Loop acara memeriksa sama ada timbunan panggilan kosong. Jika ia kosong, panggilan balik diambil dari barisan dan ditolak ke dalam tumpukan panggilan untuk pelaksanaan; 4. Tugas -tugas mikro (seperti janji. 5. Memahami gelung acara membantu mengelakkan menyekat benang utama dan mengoptimumkan pesanan pelaksanaan kod.</p>
          							</div>
          													</div>
          
          													<a href="http://ipnx.cn/ms/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>Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!</p>
                  </div>
                  <div   id="wjcelcm34c"   class="footermid">
                      <a href="http://ipnx.cn/ms/about/us.html">Tentang kita</a>
                      <a href="http://ipnx.cn/ms/about/disclaimer.html">Penafian</a>
                      <a href="http://ipnx.cn/ms/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="b4tou" class="pl_css_ganrao" style="display: none;"><object id="b4tou"></object><p id="b4tou"><td id="b4tou"></td></p><th id="b4tou"><pre id="b4tou"><dfn id="b4tou"></dfn></pre></th><div id="b4tou"><tfoot id="b4tou"><tbody id="b4tou"></tbody></tfoot></div><thead id="b4tou"><sub id="b4tou"></sub></thead><bdo id="b4tou"></bdo><center id="b4tou"></center><tbody id="b4tou"><pre id="b4tou"><p id="b4tou"></p></pre></tbody><xmp id="b4tou"><tt id="b4tou"><option id="b4tou"></option></tt></xmp><i id="b4tou"><p id="b4tou"><strike id="b4tou"><form id="b4tou"></form></strike></p></i><b id="b4tou"><listing id="b4tou"><style id="b4tou"><span id="b4tou"></span></style></listing></b><dfn id="b4tou"><i id="b4tou"></i></dfn><optgroup id="b4tou"><menu id="b4tou"><dl id="b4tou"><tbody id="b4tou"></tbody></dl></menu></optgroup><track id="b4tou"></track><label id="b4tou"></label><tt id="b4tou"><option id="b4tou"><listing id="b4tou"><strong id="b4tou"></strong></listing></option></tt><small id="b4tou"></small><object id="b4tou"><acronym id="b4tou"><menuitem id="b4tou"><b id="b4tou"></b></menuitem></acronym></object><sup id="b4tou"></sup><th id="b4tou"><pre id="b4tou"><source id="b4tou"><form id="b4tou"></form></source></pre></th><dl id="b4tou"><legend id="b4tou"></legend></dl><fieldset id="b4tou"><ol id="b4tou"><th id="b4tou"><tr id="b4tou"></tr></th></ol></fieldset><dl id="b4tou"></dl><ul id="b4tou"><u id="b4tou"></u></ul><tbody id="b4tou"></tbody><tfoot id="b4tou"></tfoot><dd id="b4tou"></dd><samp id="b4tou"></samp><listing id="b4tou"><cite id="b4tou"><fieldset id="b4tou"><thead id="b4tou"></thead></fieldset></cite></listing><object id="b4tou"></object><cite id="b4tou"></cite><strong id="b4tou"></strong><tbody id="b4tou"><strong id="b4tou"></strong></tbody><dfn id="b4tou"></dfn><option id="b4tou"><dfn id="b4tou"><abbr id="b4tou"></abbr></dfn></option><bdo id="b4tou"></bdo><progress id="b4tou"></progress><wbr id="b4tou"><td id="b4tou"><thead id="b4tou"></thead></td></wbr><label id="b4tou"><fieldset id="b4tou"><tfoot id="b4tou"><tbody id="b4tou"></tbody></tfoot></fieldset></label><p id="b4tou"><thead id="b4tou"><dd id="b4tou"></dd></thead></p><listing id="b4tou"><bdo id="b4tou"></bdo></listing><dfn id="b4tou"></dfn><font id="b4tou"></font><var id="b4tou"></var><optgroup id="b4tou"></optgroup><button id="b4tou"></button><pre id="b4tou"><option id="b4tou"><tbody id="b4tou"><strong id="b4tou"></strong></tbody></option></pre><tr id="b4tou"></tr><label id="b4tou"></label><tr id="b4tou"></tr></div>
          
          </html>