Setiap kaedah dalam jQery mempunyai analisis kod yang sepadan, yang sangat terperinci Sila lihat pengenalan di bawah:
kaedah isFunction
Objek yang digunakan untuk menguji sama ada ia adalah fungsi
Contoh:
function stub() { } var objs = [ function () {}, { x:15, y:20 }, null, stub, "function" ]; jQuery.each(objs, function (i) { var isFunc = jQuery.isFunction(objs[i]); $("span:eq( " + i + ")").text(isFunc); })
Hasil jalankan:
Analisis kod sumber:
// See test/unit/core.js for details concerning isFunction. // Since version 1.3, DOM methods and functions like alert // aren't supported. They return false on IE (#2968). isFunction: function( obj ) { return jQuery.type(obj) === "function"; },
Pertama sekali, izinkan saya memberitahu anda bahawa terdapat pepijat sejak versi 1.3 Beberapa kaedah dan fungsi DOM seperti alert akan kembali palsu dalam IE Selepas melihat pepijat ini, kerana kaedah toString dan kaedah valueOf ditulis semula, seseorang mencadangkan untuk menggunakan Kaedah instanceof mengesan tetapi masih terdapat masalah dalam ie6. Setakat ini, pepijat ini belum ditutup Untuk butiran, anda boleh merujuk kepada halaman pepijat laman web rasmi Kerana saya sedang menganalisis 1.7.1, saya akan mengikuti versi ini terlebih dahulu tentukan sama ada hasil pulangan ialah fungsi rentetan
kaedah isArray
Objek yang digunakan untuk menguji sama ada ia adalah tatasusunan
Contoh:
$("b").append( " + $.isArray([]) );//<b>true</b> isArray: Array.isArray || function( obj ) { return jQuery.type(obj) === "array"; },
Gunakan hasil pulangan kaedah jenis terus seperti isFunctoin
ialah kaedah Numerik
Menentukan sama ada hujahnya ialah nombor.
Kaedah $.isNumeric() menyemak sama ada hujahnya mewakili nilai angka. Jika ya, ia kembali benar. Jika tidak, ia kembali palsu. Parameter boleh terdiri daripada sebarang jenis
Contoh:
$.isNumeric("-10"); // true $.isNumeric(16); // true $.isNumeric(0xFF); // true $.isNumeric("0xFF"); // true $.isNumeric("8e5"); // true (exponential notation string) $.isNumeric(3.1415); // true $.isNumeric(+10); // true $.isNumeric(0144); // true (octal integer literal) $.isNumeric(""); // false $.isNumeric({}); // false (empty object) $.isNumeric(NaN); // false $.isNumeric(null); // false $.isNumeric(true); // false $.isNumeric(Infinity); // false $.isNumeric(undefined); // false
Analisis kod sumber:
Kaedah ini tidak menentukan jenis Nombor tetapi jenis yang kelihatan seperti nombor Selagi parameter yang dihantar mengandungi nombor, ia akan kembali benar Pertama, gunakan kaedah parseFloat untuk menukar parameter kepada tatasusunan. Kaedah ini akan mengekalkan bahagian berangka parameter untuk penapisan Alih keluar bahagian lain, jika hasilnya bukan NaN dan tidak melebihi nilai maksimum, ia adalah benar, jika tidak ia mengembalikan palsu
kaedah is Window
Digunakan untuk menguji sama ada ia objek tetingkap
<div class="codetitle"><span><a style="CURSOR: pointer" data="41657" class="copybut" id="copybut41657" onclick="doCopy('code41657')"><U>复制代码</U></a></span> 代码如下:</div><div class="codebody" id="code41657">isNumeric: function( obj ) { return !isNaN( parseFloat(obj) ) && isFinite( obj ); }, </div>
Kaedah kasar untuk menentukan sama ada objek adalah tetingkap Jika objek yang dilalui berpuas hati dan mempunyai kaedah setInterval, objek tersebut dianggap sebagai objek tetingkap objek tingkap. Saya harap anda semua menikmati kandungan di atas.